【发布时间】:2026-01-21 22:55:01
【问题描述】:
从 Android 4.3 (Jelly Bean) 开始,我们现在可以使用 res/mipmap 文件夹来存储“mipmap”图像。
例如,Android 版 Chrome 将其图标存储在这些文件夹中,而不是更普通的 res/drawable 文件夹中。
这些 mipmap 图像与其他熟悉的可绘制图像有何不同?
我看到在我的清单中,我们使用了@mipmap/ 限定符,而不是@drawable/,考虑到资源文件夹名称,这很有意义:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
参考资料:
Android 4.3 APIs 文档有以下内容:
使用 mipmap 作为位图或 drawable 的源是一个简单的 提供高质量图像和各种图像比例的方法,可以是 如果您希望图像在 动画。
Android 4.2(API 级别 17)在位图中添加了对 mipmap 的支持 类—当您提供时,Android 会在您的位图中交换 mip 图像 一个 mipmap 源并启用了 setHasMipMap()。现在在 Android 4.3 中, 您也可以为 BitmapDrawable 对象启用 mipmap,方法是 提供 mipmap 资产并在 a 中设置 android:mipMap 属性 位图资源文件或调用 hasMipMap()。
我没有看到任何可以帮助我理解的内容。
XML Bitmap resources 有一个 android:mipMap 属性:
布尔值。启用或禁用 mipmap 提示。参见 setHasMipMap() 更多信息。默认值为 false。
据我所知,这不适用于启动器图标。
这个问题是在 Google 网上论坛 (The purpose of resource name "mipmap"?!) 上提出的,Romain Guy 回复道:
提供更大分辨率的图像很有用 通常被计算(例如,在 mdpi 设备上,Launcher 可能 希望较大的 hdpi 图标显示较大的应用程序快捷方式。)
我觉得这几乎是有道理的,但并不完全。
我仍然倾向于 Randy Sugianto 的后续行动:
这样做有什么好处?有没有指导如何使用 mipmaps,可能是为了更好的启动器图标?
当然,Wikipedia has a page for "Mipmap",它指的是 1983 年发明的一种较旧的技术,我与当前的 Android 实现不太相关。
这些天我们是否应该将所有应用程序图标存储在res/mipmap 文件夹中,这些mipmap 图像的指南是什么?
更新 #1
这是一篇试图解释它的博客文章。
但该博客文章中使用的图片显示了一个文件,其中包含许多徽标。这不是我在 Chrome 的 mipmap 文件夹中看到的。
Chrome 的mipmap-hdpi 文件夹包含三个图像。一个是单独的 Chrome 徽标。
奇怪的是,它是 72x72,而不是我希望看到的 48x48。
也许这就是全部 - 我们只需要在 mipmap 文件夹中保留更大的图标?
更新 #2
2014 年 10 月 23 日的 Android 开发者博客文章再次确认了使用 mipmap 文件夹作为应用程序图标的想法:
在谈到 Nexus 6 的屏幕密度时,作者写道:
最好将您的应用程序图标放在 mipmap- 文件夹中(而不是 drawable- 文件夹),因为它们使用的分辨率不同于 器件的电流密度。例如,一个 xxxhdpi 应用程序图标可以是 用于 xxhdpi 设备的启动器。
更新 #3
请注意,Android Studio 在mipmap... 文件夹中创建ic_launcher.png 图标,而不是在Eclipse 用来创建它们的drawable... 文件夹中。
【问题讨论】:
标签: android android-drawable mipmaps