#android #drawable #resolution #dpi
Вопрос:
Я собираюсь опубликовать приложение для Android, которое использует несколько изображений с разным разрешением. Я обнаружил трудный путь (с сбоем), что размещение всех изображений в папке для рисования вызывает исключение Outofmory, поскольку изображения масштабируются. Поместив все изображения в папку с высоким разрешением, такую как drawable-xxhdpi, проблема исчезнет.
Мой вопрос : должен ли я упорядочивать изображения в соответствии с их разрешением в соответствующих папках ? Будет ли это иметь какое-то значение ? Уменьшит ли Android масштаб изображения, найденного в drawable-xxhdpi, даже если оно имеет низкое разрешение ?
Комментарии:
1. Используйте каталоги, зависящие от плотности (например,
res/drawable-hdpi/
), для случаев, когда у вас есть несколько выпусков одного и того же изображения, поддерживающих разную плотность. Если у вас есть изображения только с одной плотностью, вставьте ихres/drawable-anydpi/
, чтобы указать Android использовать изображение для любой плотности.2. anydpi был добавлен на уровне API 21. что делать, если я хочу использовать API 16-го уровня ?
3. API 21-го уровня (Android 5.0) — 7 лет. Я не рекомендую поддерживать более старые версии. Тем не менее,
res/drawable-nodpi/
этого должно быть достаточно для старых устройств.
Ответ №1:
Возможно, вы захотите использовать Glide для визуализации в своем приложении. Glide предоставляет вам возможность автоматического масштабирования изображений в соответствии с размером держателя изображения. Это также кэширует изображения для более быстрого доступа (если вы используете сетевые образы). Прочтите документ и посмотрите, поможет ли он вам.