Почему плотность Nexus 6 составляет 560 точек на дюйм?

Как подготовить ресурсы для Nexus 6? Если я поместил изображения в xxxhdpi, они уменьшатся и потеряют качество. Я помещал изображения в xxhdpi, они будут увеличиваться и терять качество. Почему разработчики решили установить значение 560dpi для плотности, если реальная плотность 493ppi ближе к xxhdpi ~ 480dpi?

Nexus 6 может похвастаться впечатляющим 5,96-дюймовым дисплеем Quad HD с разрешением 2560 x 1440 (493 ppi). Это означает, что ~ 730 x 410 дп (плотность независимых пикселей).

Nexus 6 имеет квантованную плотность 560 dpi, которая попадает между ведрами первичной плотности xxhdpi и xxxhdpi.

Для Nexus 6 платформа уменьшит активы xxxhdpi, но если они недоступны, тогда она увеличит активы xxhdpi.

xxhdpi ~480dpi xxxhdpi ~640dpi 

Solutions Collecting From Web of "Почему плотность Nexus 6 составляет 560 точек на дюйм?"

В случае Nexus 6 производитель выбрал квантованную плотность 560 (adb shell getprop ro.sf.lcd_density), хотя физическая плотность составляет около 493 (getResources (). GetDisplayMetrics (). ToString ()). Понимание того, почему они могут это сделать, требует понимания значения квантованной плотности и того, как это влияет на рендеринг ресурса изображения, что объясняется здесь .

Короче говоря, квантованная плотность 560 означает, что масштабный коэффициент, используемый для загрузки / рендеринга изображений, будет 3,5. По словам Д. Хакборна, «Плотность … представляет собой абстрактное ведро плотности, которое, по мнению производителя устройства, имеет смысл для их интерфейса . Это то, что используется для оценки таких вещей, как «dp», а также выбор и масштабирование растровых изображений из ресурсов ».

Вы можете использовать drawable-560dpi для 560 dpi. Изображения с разрешением drawable-560dpi и drawable-560dpi drawable-xxxhdpi имеют одинаковое разрешение.

Я думаю, что это правильный вопрос. Некоторые устройства находятся между поддерживаемым dpis (xxhdpi & xxxhdpi), используя образы, будет делать ненужное масштабирование программного обеспечения. Я не беспокоюсь о разнице в качестве, но это повлияет на производительность запуска приложения. Проверить переменную willscale в BitmapFatory , если это правда, платформа сделает ненужное дополнительное масштабирование программного обеспечения. В идеале аппаратное обеспечение ui должно масштабировать это напрямую, используя openGL ES.