Android mipmap和drawable的区别到底是什么

Android图标适配:mipmap与drawable的抉择
本文探讨了Android中mipmap和drawable文件夹的区别,解释了Google为何推荐将app图标放在mipmap中,主要是因为mipmap能提供更好的UI适配,尤其是在不同密度设备上。mipmap会根据设备密度自动选择更高清晰度的图标,而drawable则不会做这样的智能选择。此外,文章指出,国内开发者可能根据实际情况选择将所有图标放在mipmap下,这并不一定是错误的做法,关键在于理解并合理运用两者之间的适配差异。

mipmap的出现已经很久了,但是图片放在mipmap还是drawable的各有各的看法和道理!最近详细研究了哈两者的区别

Google为什么将app应用图标放在mipmap里

唉!这个为什么?Google创建一个mipmap文件是专门用来只放app应用图标的吗?这里的app应用图标指的是app logo

唉!还真是!Google的原意就是mipmap只放logo图片,其余的app内应用图片还是放drawable,那究竟是为什么呢?听我细细道来

首先在Android mipmap的文件夹下 app会比安装的手机本身密度高一级或者两级去寻找图片,以xhdpi密度的手机为例,它取的是xxhdpi或者xxxhdpi文件下的icon,试想哈加载高密度的下的icon,那么是不是icon会显得很高清了呢?所以这也是为什么mipmap的在适配ui效果上高于drawable的原因,当然还有本身的纹理技术这个就不多说了,我也不晓得

按照上面的说法,那么我在drawable里面放置高于本身分辨率的图片不就行了吗?非也!在不同的机型上mipmap和drawable的适配又是不一样的,假设当前apk下drawable和mipmap 都存在hdpi、mdpi、xhdpi、xxhdpi、xxxhdpi,当这个apk安装在手机屏幕密度位xhdpi的时候 drawable会自动移除其余密度的文件,即保留drawable-xhdpi和drawable文件夹,但是mipmap是不会有文件变动的。 mipmap的文件夹下手机xhdpi密度就会向mipmap-xxhdpi以及mipmap-xxxhdpi的文件夹去找icon,这种情况下就会icon很高清,在drawable下只会去drawable-xhdpi下找,所以一旦在drawable的位置没有放对就会产生ui问题,看到这里是否有些明白Google为什么mipmap只放置logo图片了呢

那么问题又来了,国内有些人把图标放在mipmap的没怎么放在drawable的都是用错了吗?也不一定!我们要明白Google对图标的适配和我们实际的适配是有些不一样的!在hdpi、mdpi、xhdp、xxhdpi、xxxhdpi。都会放对应分辨率的图标,而国内也怎么做的会有多少?相信大家看多很多关于drawable的适配,直接保留最高密度的文件,一套图标适配。

那么试问一哈,当只有一套密度的适配下。mipmap-xxxhdpi和drawable-xxxhdpi谁更优呢?

参考文档

Android mipmap vs. drawable folder. Why we use mipmap instead of drawable to store Launcher icons?
mipmap做了哪些事?

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值