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