2010-11-27 2 views
14

В настоящее время я пытаюсь поддерживать более широкий диапазон устройств с моим Android-приложением. Однако даже после прочтения того, что должен сказать Android Dev Guide, я не знаю, как , почему Я должен предоставить различные графики для ldpi, mdpi и hdpi.Android: зачем создавать определенные изображения для ldpi, mdpi и hdpi?

Я понимаю, что изображения будут автоматически масштабироваться, поэтому я могу просто предоставить графику hdpi и позволить устройству делать все остальное. Будет ли качество масштабирования ниже, если устройство это сделает? Будет ли это проблемой производительности? Сейчас я больше беспокоюсь о том, чтобы умножить размер APK на три.

+0

Вы думаете, что os может масштабировать и изменять размер изображений, не растягивая их? Вы думаете, что всегда хорошо, чтобы ваши изображения растянулись до двух раз? – Falmarri 2010-11-27 17:51:02

+4

Нет, я думаю о том, чтобы их уменьшили, а не вверх. – forneo 2010-11-27 17:53:07

ответ

5

Я думаю, по двум причинам:

  1. разработчика относятся: Собираем все варианты пиктограмм в пакете потребляет пространство и пропускную способность, масштабирование их на лету потребляет процессор. Нет приза за то, чтобы угадать, какой из них дешевле на мобильном устройстве. (я подозреваю, что приложения на Android-рынке будут загружать только нужные ресурсы - в этом случае ваши пользователи даже не платят налог на доступ к пространству/пропускной способности) Требуется ссылка.
  2. Конкурентоспособность: при масштабировании значка вручную вы можете (и преданный дизайнер настаивать) перепроектировать значок, чтобы получить более четкие результаты, чем автоматическое масштабирование. Посмотрите на this page для подробного объяснения того, почему значки масштабирования вручную хороши. (Он говорит в основном о знаках iPhone, но это относится и к значкам Android.)
2

Я бы предположил, что нужно принимать взвешенное решение между производительностью и размером. Если вы предоставляете только hdpi-графику, ОС, естественно, придется использовать некоторые ресурсы при уменьшении масштаба для устройств с более низким разрешением. Но если вы предоставляете графику hdpi, mdpi и ldpi, для этого потребуется немного больше места.

Однако ваш страх за умножение размера APK на три не слишком важен, на мой взгляд. Прежде всего, если вы каким-либо образом обеспечите графику hdpi, добавив графику mdpi и ldpi (размер которой меньше, чем размер графического изображения hdpi (примерно 3:4:6 scaling ratio)) увеличит размер, но будет далек от тройного (более близкого к дважды). Во-вторых, графика не составляет весь размер APK, поэтому утроение количества изображений не будет также утроить размер APK. И, наконец: поскольку Android теперь поддерживает приложения для SD, размер вашего приложения не так важен, как в предыдущих версиях.

0

Будет ли качество масштабирования ниже, если устройство не работает?

Это единственная причина, по которой я это сделаю. Я думаю, что для большинства изображений встроенный масштабирующее устройство будет прекрасно. Тем не менее, большинство значков (значок запуска, значки уведомлений) будут очень конкретными пикселями из-за их небольшого размера. В таких случаях, делая меньшую версию вручную, вы получите более резкий результат, чем автоматическое масштабирование.

0

Причина в том, что если вы хотите показать что-то в устройстве hdpi (более высокая плотность пикселей на дюйм), вам нужно больше пикселей для представления того же визуального размера.

Вы можете позволить ОС масштабировать изображение, но оно, вероятно, будет выглядеть размытым.

Смежные вопросы