Как мы должны использовать папки mipmap, добавленные в Android 4.4?

Я недавно установил еще один Android SDK в Android Studio, SDK версии 4.4 (уровень API 19), и после использования его с моим проектом, он добавил набор mipmap папки в проекте res папка (res/mipmap).
Я не понимаю, почему или как их использовать.

Я прочитал еще один вопрос об этом здесь, на SO.
Ответ на это сказал, что:

Папки mipmap предназначены только для размещения значков ваших приложений. Любые другие используемые для рисования активы должны быть помещены в соответствующие папки для рисования, как и раньше.

Согласно этому посту Google:

Рекомендуется размещать значки приложений в папках mipmap (а не в папках drawable), поскольку они используются с разрешением, отличным от текущей плотности устройства.

Я до сих пор не понимаю причину этого.
Почему мы не можем просто поместить значки приложений в res/drawable папки тоже?

Кроме того, если только значок приложения должен быть помещен в mipmap папках, как мне создать другие доступные для рисования активы и поместить их в drawable папок с помощью мастера создания образа Android Studio? (Доступ к нему можно получить, щелкнув правой кнопкой мыши в проекте и выбрав " Создать"> "Актив изображения")

1 ответ

Решение

Почему мы не можем просто поместить значки приложений в папки res/drawable?

О, ты можешь. Google не рекомендует, вот и все.

Цитирую себя из версии 6.5 моей книги:

Хотя извлекаемые ресурсы могут быть удалены при упаковке APK, например, для сплит-системы Gradle для Android для создания выпусков приложения, ориентированных на плотность, ресурсы mipmap, по-видимому, остаются одни.

Это связано с тем, что значки запуска могут быть извлечены из корзины с более высокой плотностью, чем обычная плотность устройства, которая используется для всех других элементов рисования. Положить их в res/mipmap-*/ каталоги означают, что мы случайно не избавимся от них в рамках оптимизации размера APK.

(почему они не справились с этим лучше, я понятия не имею)

как создать другие объекты для рисования и поместить их в папки для рисования с помощью мастера графических активов Android Studio? (Доступ к нему можно получить, щелкнув правой кнопкой мыши в проекте и выбрав "Создать"> "Актив изображения")

Мастер Image Asset помещает только значки запуска в res/mipmap-*/ каталоги. Если вы выберете другие типы значков, они войдут в res/drawable-*/, И, конечно, сам мастер Image Asset не является обязательным.

Другие вопросы по тегам