从Android 4.3(Jelly Bean)开始,我们现在可以利用这些res/mipmap文件夹来存储"mipmap"图像.
例如,Chrome for Android将其图标存储在这些文件夹中,而不是更常用的res/drawable文件夹中.
这些mipmap图像与其他熟悉的可绘制图像有何不同?
我看到在我的清单中,我们使用@mipmap/限定符,而不是@drawable/,这对于资源文件夹名称是有意义的:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Run Code Online (Sandbox Code Playgroud)
在Android 4.3的API的文档具有下面要说:
使用mipmap作为位图或drawable的源是提供高质量图像和各种图像比例的简单方法,如果您希望在动画期间缩放图像,这可能特别有用.
Android 4.2(API级别17)在Bitmap类中添加了对mipmap的支持 - 当您提供了mipmap源并启用了setHasMipMap()时,Android会在您的Bitmap中交换mip图像.现在在Android 4.3中,您还可以通过提供mipmap资源并在位图资源文件中设置android:mipMap属性或通过调用hasMipMap()来为BitmapDrawable对象启用mipmaps.
我没有看到任何有助于我理解的东西.
XML Bitmap资源具有以下android:mipMap属性:
布尔.启用或禁用mipmap提示.有关更多信息,请参见setHasMipMap().默认值为false.
就我所见,这不适用于启动器图标.
问题出现在Google网上论坛(资源名称"mipmap"的目的?!)上,Romain Guy回复道:
提供通常可以计算的更大分辨率的图像很有用(例如,在mdpi设备上,Launcher可能希望更大的hdpi图标显示大型应用程序快捷方式.)
我觉得这几乎是有意义的,但并不完全.
我仍然倾向于选择Randy Sugianto的跟进:
这有什么好处?是否有任何指南如何使用mipmap,可能是为了更好的启动器图标?
当然,维基百科有一个"Mipmap"页面,它指的是一种1983年发明的旧技术,我无法与当前的Android实现相关联.
我们现在应该将所有应用程序图标res/mipmap存储在文件夹中吗?这些mipmap图像的准则是什么?
更新#1
这是一篇博文,试图解释一下.
但是该博客文章中使用的图像显示了一个包含许多徽标的文件.这不是我在Chrome的mipmap文件夹中看到的.
Chrome的mipmap-hdpi文件夹包含三张图片.一个是Chrome徽标,单独使用.

奇怪的是,它是72x72,而不是48x48,我希望看到.
也许这就是全部 - 我们只需要在mipmap文件夹中保留更大的图标?
更新#2
2014年10月23日的Android开发者博客文章再次证实了将mipmap文件夹用于应用程序图标的想法:
使用cordova build一年之久的项目提出:
:processDebugResources
my_project/platforms/android/build/intermediates/manifests/full/debug/AndroidManifest.xml:24: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/icon').
Run Code Online (Sandbox Code Playgroud)
然后粉碎:
FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)
任何的想法?