Пиша приложение, където ще ми трябват няколко растерни фона на цял екран. Въз основа на моето наивно четене на Поддръжка на множество екрани в документацията за Android, за да покрия всички моите бази Вероятно трябва да имам 16 версии на всяко растерно изображение: всички двойки от [ small, normal, large, xlarge ]
и [ ldpi, mdpi, hdpi, xhdpi ]
. Това трябва да намали работата, която процесорът трябва да извърши за мащабиране на изображенията, но ще доведе до големи разходи за съхранение.
Това обаче изглежда изключително неефективно поради две причини:
- Не всички от тези комбинации се срещат на практика.
- Тъй като просто изобразявам векторно изкуство за всеки физически размер (без зачитане на DPI), двойки като голям/mdpi и нормален/hdpi (които и двете са ~ 480x854 пиксела) са дублиращи се файлове.
И така, трябва ли просто да предоставя наистина големи изображения и да оставя на системата да ги намали? Да ухапете куршума и да предоставите много дублирани изображения? Избягване на проблема като цяло и създаване на кодово решение със сурови ресурси? Някакви други идеи? Благодаря.
РЕДАКТИРАНЕ: Очевидно можете да създадете чертежи на XML растерно изображение, което е псевдоним на действително растерно изображение. Това разрешава втория аргумент за неефективност. И все пак се чудя какви комбинации от тях предлагат другите на практика?