IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android mipmap和drawable的区别到底是什么 -> 正文阅读

[移动开发]Android mipmap和drawable的区别到底是什么

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做了哪些事?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:13:34  更:2022-01-03 16:14:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:59:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码