Android应用加载那个mipmap
Android 应用开发中mipmap
中几个文件夹的认识
mipmap
中的文件夹分别为
mipmap-hdpi、
mipmap-mdpi
mipmap-xhdpi
mipmap-xxhdpi
mipmap-xxxhdpi
常见这五种mipmap在google官网上是推荐放启动图标的icon
发现:不同手机屏幕密度使用不同的mipmap既然以dpi结尾则与dpi有关
// 每英寸在x/y方向上的物理像素
float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;
dpi范围 | 密度 | 建议尺寸 |
0dpi ~ 120dpi | ldpi | |
120dpi ~ 160dpi | mdpi | 48*48 |
160dpi ~ 240dpi | hdpi | 72*72 |
240dpi ~ 320dpi | xhdpi | 96*96 |
320dpi ~ 480dpi | xxhdpi | 144*144 |
480dpi ~ 640dpi | xxxhdpi | 192*192 |
Android对不同api适配会影响以上结论。也就是说Android是适配优先的。正常情况是遵循android根据屏幕密度dpi加载对应的dpi尺寸的。
在 Android 应用开发中,Android 系统会根据设备的屏幕密度来自动加载适合的 mipmap 资源文件夹中的图标。不同的 mipmap 文件夹对应不同密度的设备,系统会根据设备的实际密度(DPI,dots per inch)来选择最合适的资源加载。
以下是常见的 mipmap 文件夹和它们适用的设备密度:
-
mipmap-mdpi:
-
适用于中密度屏幕,约为 160dpi 的设备。这是 Android 开发中的基准密度。
-
-
mipmap-hdpi:
-
适用于高密度屏幕,约为 240dpi 的设备,通常是早期高端 Android 设备的标准。
-
-
mipmap-xhdpi:
-
适用于超高密度屏幕,约为 320dpi 的设备,例如大多数现代智能手机。
-
-
mipmap-xxhdpi:
-
适用于超超高密度屏幕,约为 480dpi 的设备,例如某些大屏幕手机和高分辨率平板电脑。
-
-
mipmap-xxxhdpi:
-
适用于非常高密度屏幕,约为 640dpi 的设备,例如一些最新型号的大屏幕手机和平板电脑。
-
加载顺序和系统适配:
Android 系统会根据设备的实际屏幕密度从这些 mipmap 文件夹中选择最合适的图标资源。例如,对于一个 xhdpi 设备(约为 320dpi),系统会首先查找并加载 mipmap-xhdpi
文件夹中的图标。如果在 mipmap-xhdpi
文件夹中找不到合适的图标资源,系统会向上查找,依次尝试加载 mipmap-xxhdpi
、mipmap-xxxhdpi
文件夹中的资源。
因此,开发者需要根据不同的密度为应用提供不同分辨率的图标资源,确保在不同屏幕密度的设备上显示时都能保持良好的视觉质量和清晰度。
下面以mipmap-xxxhdpi
这该目录为例,进行详细说明; mipmap-xxxhdpi
是指适用于非常高密度的 Android 设备的一种资源文件夹命名约定。以下是对这个命名的解释和用途:
解释和用途:
-
命名约定:
-
mipmap-xxxhdpi
中的mipmap
表示这是存放应用图标的文件夹。 -
xxxhdpi
表示这些图标资源是为非常高密度的设备设计的,通常为 480dpi 的设备,比如某些大屏幕手机和平板电脑。
-
-
适用场景:
-
mipmap-xxxhdpi
文件夹用于存放应用程序图标的高分辨率版本。在 Android 应用开发中,应用图标通常需要为不同密度的设备提供多个版本,以确保在不同设备上显示时保持清晰度和质量。
-
-
资源分辨率:
-
对于
xxxhdpi
的设备,Android 系统会尝试寻找并使用位于mipmap-xxxhdpi
文件夹中的图标资源。这些资源通常会比低密度设备(如 mdpi、hdpi)的图标更大,以适应高分辨率屏幕而不失真。
-
-
示例:
-
如果你的应用需要适配最新型号的高分辨率 Android 设备,比如某些最新的大屏手机或平板电脑,你可能会在
mipmap-xxxhdpi
文件夹中放置图标资源。这些图标应该具有较高的像素密度,以确保在这些设备上显示时保持清晰度和视觉吸引力。
-
mipmap-xxxhdpi
文件夹是 Android 开发中用来存放适用于非常高密度设备(xxxhdpi 设备)的应用图标资源的文件夹,是为了优化在高分辨率屏幕上的显示效果而设计的。