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