Должен ли DisplayMetrics.DENSITY_DEVICE_STABLE совпадать с resources.displayMetrics.densityDpi при увеличении экрана по умолчанию - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь понять DisplayMetrics.DENSITY_DEVICE_STABLE свойство Android.

Из Android 10 Определение совместимости (и Android 7 Определение совместимости):

[C -0-1] По умолчанию реализации устройств ДОЛЖНЫ сообщать только об одном из Android каркасных плотностей, которые перечислены в DisplayMetrics через API DENSITY_DEVICE_STABLE, и это значение НЕ ДОЛЖНО изменяться в любое время; однако устройство МОЖЕТ сообщать о другой произвольной плотности в соответствии с изменениями конфигурации дисплея, сделанными пользователем (например, размером дисплея), установленным после начальной загрузки.
Ссылка: https://source.android.com/compatibility/android-cdd#7_1_1_3_screen_density

Из моего исследования я обнаружил, что на большинстве устройств DisplayMetrics.DENSITY_DEVICE_STABLE равен resources.displayMetrics.densityDpi, когда для увеличения / размера экрана установлено нормальное значение.
Однако на Samsung S10 + работает Android 10 DisplayMetrics.DENSITY_DEVICE_STABLE равно 420, а resources.displayMetrics.densityDpi равно 640 с масштабированием экрана, установленным на нормальное значение.
Я также проверил, что на Samsung S8 работает Android 8, и обнаружил, что DisplayMetrics.DENSITY_DEVICE_STABLE равно resources.displayMetrics.densityDpi с масштабированием экрана, установленным по умолчанию (это 480).

Так что мой вопрос: должно ли DisplayMetrics.DENSITY_DEVICE_STABLE совпадать с resources.displayMetrics.densityDpi при увеличении экрана по умолчанию.

Спасибо

1 Ответ

0 голосов
/ 21 января 2020

DisplayMetrics.DENSITY_DEVICE_STABLE на устройствах Samsung S10 + соответствует resources.displayMetrics.densityDpi, когда устройство имеет разрешение FHD + и минимальное увеличение дисплея.
Похоже, что при изменении разрешения устройства по умолчанию оно влияет на resources.displayMetrics.densityDpi и свойство DisplayMetrics.DENSITY_DEVICE_STABLE больше нельзя безопасно сравнивать с resources.displayMetrics.densityDpi.

...