Проще ли предоставить один нарисованный PNG-ресурс высокого разрешения и позволить Android уменьшить его? - PullRequest
5 голосов
/ 01 ноября 2011

Я хочу создать фоновое изображение для группы просмотра в приложении для Android, и я не уверен, что лучше всего делать с активом.

Разве проще (читай: на большинстве телефонов выглядит лучше) просто предоставить ресурс в формате 900x570 или около того и позволить Android автоматически масштабировать его вверх и вниз или масштабировать его самостоятельно в Photoshop и предоставлять эти изображения в 3 * 1003? Папки *, drawable-mdpi и drawable-hdpi?

Экономия места будет такой маленькой: около 10–20 тыс., Для меня имеет смысл просто позволить Android самому масштабировать изображения.

Целевой API будет 2.0 и выше, и планшеты с самого начала не поддерживаются.

Ответы [ 3 ]

6 голосов
/ 01 ноября 2011

Очевидно, что с точки зрения разработчика, Android позволяет масштабировать изображения для вас, но на большинстве телефонов это выглядит не лучше. По моему опыту, Photoshop имеет лучшие алгоритмы масштабирования, чем Android.

1 голос
/ 02 ноября 2011

Это проще, но с точки зрения производительности.

Если целевая плотность известна, будет лучше написать все необходимые преобразования для ваших значков / заставок / изображений и забыть об этом, чтобыв следующий раз, когда ваши мастера изменятся… бесплатно…

Вот пример использования ImageMagick для моих иконок и глазных конфет в виде списка от мастеров pdf:

#!/bin/bash
convert -transparent white ic_padlock.pdf ic_padlock.png
convert -scale 36x36 ic_padlock.png ../../res/drawable-ldpi/ic_launcher_padlock.png
convert -scale 48x48 ic_padlock.png ../../res/drawable-mdpi/ic_launcher_padlock.png
convert -scale 72x72 ic_padlock.png ../../res/drawable-hdpi/ic_launcher_padlock.png
convert -scale 24x24 ic_padlock.png ../../res/drawable-ldpi/ic_listview_padlock.png
convert -scale 32x32 ic_padlock.png ../../res/drawable-mdpi/ic_listview_padlock.png
convert -scale 48x48 ic_padlock.png ../../res/drawable-hdpi/ic_listview_padlock.png
convert -transparent white ic_padlock_ok.pdf ic_padlock_ok.png
convert -scale 36x36 ic_padlock_ok.png ../../res/drawable-ldpi/ic_listview_padlock_ok.png
convert -scale 48x48 ic_padlock_ok.png ../../res/drawable-mdpi/ic_listview_padlock_ok.png
convert -scale 72x72 ic_padlock_ok.png ../../res/drawable-hdpi/ic_listview_padlock_ok.png

Вы можете использовать конвертирование спараметр плотности для лучшего рендеринга:

convert -density targetdensityxtargetdensity  -transparent white splash.pdf ../../res/drawable/splash.png
1 голос
/ 01 ноября 2011

, если вы укажете только одну копию изображения в любом из drawable, drawable-ldpi, drawable-mdpi и drawable-hdpi, android по умолчанию будет масштабировать его для вас

, однако это хорошая практика - ставить другоеразмер изображения по соображениям производительности

...