DPI устройства задаёт разрешение изображения всего экрана, который будет показан на устройстве. Используется для масштабирования интерфейса. Значение DPI присвоено устройству и задается программно. При масштабе интерфейса по умолчанию в 100% значения DPI и PPI равны.
В Android для различения значений вместо PPI изображения стали использовать DPI (возможно подразумевая, что вывод изображения на дисплей смартфона и печать на лист бумаги это подобные процессы), что, привело дизайнеров к еще большей запутанности.
Dp это логическая (абстрактная) еденица измерения — пиксель независимый от плотности.
Один dp равен одному пикселю на экране с плотностью 160 DPI. Масштабируемые пиксели sp это то же, что dp, но для шрифтов. Они нужны для того, чтобы система или пользователь могли изменить масштаб шрифта без изменения размеров интерфейса. По умолчанию значение sp равно dp.
Экран с плотностью 160 DPI взят за основу и ему присвоено значение плотности mdpi. В figma такой экран соответствует фрейму 360×640.
На данный момент существует несколько значений плотности для поддержки экранов от 120 до 640 DPI. Их так же называют квалификаторы плотности. Моделей матриц экранов очень много, их плотность может не точно совпадать с квалификатором, так что производителями смартфонов устанавливается приближенное значение.
Квалификатор плотности указывает на соотношение пикселей. Практически, это число, показывающее во сколько раз нужно увеличить детализацию ассетов (@1x, @2x, @3x, @4x). Этот множитель называют коэффициентом масштабирования.