由于Android4.3(果冻豆),我们现在可以利用res/mipmap文件夹来存储"mipmap“图像。
例如,Chrome将其图标存储在这些文件夹中,而不是更普通的res/drawable文件夹。
这些mipmap图像与其他熟悉的可绘制图像有何不同?
在我的清单中,我们使用了@mipmap/限定符,而不是@drawable/,这在给定资源文件夹名称时是有意义的:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />参考文献:
Android4.3 API文档有以下几点:
使用mipmap作为位图或绘图的源是提供高质量图像和各种图像比例的简单方法,如果您期望在动画期间缩放图像,这将特别有用。 Android4.2 (API级别17)在Bitmap类中增加了对mipmap的支持--当您提供mipmap源并启用setHasMipMap()时,Android将交换位图中的mip图像。在Android4.3中,您也可以通过在位图资源文件中提供mipmap资产和设置android:mipMap属性或调用hasMipMap()来为hasMipMap对象启用mipMap。
我看不出有什么能帮我理解的。
XML位图资源有一个android:mipMap属性:
布尔。启用或禁用mipmap提示。有关详细信息,请参阅setHasMipMap()。默认值为假。
据我所见,这不适用于启动器图标。
这个问题是在谷歌集团(https://groups.google.com/forum/#!topic/android-developers/ZUyF0JEwibs)上提出的,Romain回答说:
提供一个通常需要计算的更大分辨率的图像是很有用的(例如,在mdpi设备上,Launcher可能希望更大的hdpi图标显示大的应用快捷方式)。
我觉得这几乎是有意义的,但不完全是这样。
我仍然倾向于与兰迪·苏吉安托的后续行动:
这样做有什么好处呢?有任何指南如何使用mipmap,可能是为了更好的启动图标?
当然,维基百科有一个"Mipmap“页面。指的是1983年发明的一种较老的技术,我不太了解目前的安卓实现。
现在我们应该把我们所有的res/mipmap应用程序图标存储在文件夹中吗?对于这些mipmap图像,准则是什么?
更新#1
这里有一篇博文试图解释一下。
但该博客文章中使用的图片显示了一个文件,其中包含许多标识。这不是我在Chrome的mipmap文件夹中看到的。
Chrome的mipmap-hdpi文件夹包含三个图像。一个是Chrome的标志,单独使用。

奇怪的是,它是72x72,而不是我期望看到的48x48。
也许这就是全部--我们只需要在mipmap文件夹中保留更大的图标?
更新#2
安卓开发人员在23/10/2014的博客上再次证实了使用mipmap文件夹作为应用程序图标的想法:
在谈到Nexus 6屏幕密度时,作者写道:
最好的做法是把你的应用程序图标放在mipmap文件夹中(而不是可绘制的文件夹),因为它们用于与设备当前密度不同的分辨率。例如,xxxhdpi应用程序图标可以在xxhdpi设备的启动程序上使用。
更新#3
注意,Android在mipmap...文件夹中创建mipmap...图标,而不是在drawable...文件夹中创建它们。
发布于 2014-06-05 17:25:04
mipmaps有两种不同的用途:
发布于 2015-05-21 06:20:19
谷歌似乎已经更新了他们的文档,因为所有这些答案,所以希望这将有助于其他人在未来:)只是遇到了这个问题,同时创建了一个新的(新的)项目。
TL;DR:作为特定于dp的资源优化的一部分,可提取的资源可能会被剥离。Mipmap是不会被剥夺的。
不同的主屏幕启动程序在不同的设备上显示不同分辨率的应用程序启动图标。当应用资源优化技术为未使用的屏幕密度删除资源时,启动器图标可能看起来模糊,因为启动程序必须升级低分辨率图标以供显示。为了避免这些显示问题,应用程序应该使用
mipmap/资源文件夹作为启动图标。Android系统保留了这些资源,而不考虑密度剥离,并确保启动应用程序能够选择具有最佳分辨率的图标以供显示。
(来自http://developer.android.com/tools/projects/index.html#mipmap)
发布于 2015-09-01 09:42:43
这些mipmap图像与其他熟悉的可绘制图像有何不同?
这是我解释差别的两分钱。在Android中处理图像时,有两种情况:
因此,决定把你的形象放在哪里的经验法则是:
https://stackoverflow.com/questions/23935810
复制相似问题