использование изображений с различным разрешением в приложении для Android

#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 предоставляет вам возможность автоматического масштабирования изображений в соответствии с размером держателя изображения. Это также кэширует изображения для более быстрого доступа (если вы используете сетевые образы). Прочтите документ и посмотрите, поможет ли он вам.