Начиная с Android 4.3 (Jelly Bean) мы можем теперь использовать папки res/mipmap
для хранения изображений "mipmap".
Например, Chrome для Android сохраняет свои значки в этих папках вместо более обычных res/drawable
папок.
Как эти изображения mipmap отличаются от других знакомых изображений?
Я вижу, что в моем манифесте мы используем квалификатор @mipmap/
вместо @drawable/
, что имеет смысл с учетом имени папки ресурса:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Литература:
В документе Android 4.3 API есть следующее:
Использование mipmap в качестве источника для вашего растрового изображения или рисования является простым способ предоставления качественного изображения и различных масштабов изображения, которые могут быть особенно полезно, если вы ожидаете, что ваше изображение будет масштабироваться во время анимации.
Android 4.2 (уровень API 17) добавила поддержку мипмапов в битовой карте класс-Android меняет изображения мига в вашем растровом изображении, когда вы поставили источник mipmap и включили setHasMipMap(). Теперь в Android 4.3, вы можете включить mipmaps для объекта BitmapDrawable, а также предоставление актива mipmap и установка атрибута android: mipMap в файл ресурса растрового изображения или путем вызова hasMipMap().
Я ничего не вижу, что помогает мне понять.
XML-ресурсы Bitmap имеют свойство android:mipMap
:
Boolean. Включает или отключает подсказку mipmap. См. SetHasMipMap() для больше информации. Значение по умолчанию - false.
Это не относится к значкам запуска, насколько я могу видеть.
Вопрос был задан в группах Google (Назначение имени ресурса "mipmap" ?!), на что ответил Ромен Гай:
Полезно предоставить изображение с большим разрешением, которое обычно вычисляются (например, на устройстве mdpi, Launcher может хотите, чтобы значок большого hdpi отображал большие ярлыки приложений.)
Мне кажется, что это почти имеет смысл, но не совсем.
Я все еще склонен идти с Рэнди Суджианто:
В чем преимущества этого? Есть ли руководство по использованию mipmaps, возможно, для более удобных значков запуска?
Конечно, В Википедии есть страница для "Mipmap" , которая ссылается на более старый метод, изобретенный в 1983 году, что я не могу относятся к текущей реализации Android.
Должны ли мы хранить все наши значки приложений в res/mipmap
папках в эти дни и каковы рекомендации для этих изображений mipmap?
Обновление # 1
Вот сообщение в блоге, которое пытается немного объяснить это.
Но образ, используемый в этом блоге, показывает, что выглядит как один файл с большим количеством логотипов. Это не то, что я вижу в папке mipmap Chrome.
Chrome mipmap-hdpi
папка содержит три изображения. Один из них - это логотип Chrome.
Странно, это 72x72, а не 48x48, которые я ожидаю увидеть.
Возможно, это все, что вам нужно - нам просто нужно держать большие значки в папках mipmap?
Обновление # 2
Сообщение блога разработчиков Android от 23/10/2014 снова подтверждает идею использования папок mipmap
для значков приложений:
Говоря о плотности экрана Nexus 6, автор пишет:
Лучшая практика размещения значков приложений в mipmap-папках (не drawable-folders), поскольку они используются при разрешениях, отличных от плотность тока устройств. Например, значок приложения xxxhdpi может быть используемый на пусковой установке для устройства xxhdpi.
Обновление # 3
Обратите внимание, что Android Studio создает значки ic_launcher.png
в папках mipmap...
, а не в папках drawable...
, которые Eclipse использовал для их создания.