mipmap和drawable文件夹的区别

简介: 同步发布在: http://snowdream.github.io/blog/2016/03/02/mipmap-vs-drawable-folders/ 现在,通过Android Studio创建Android工程,默认会创建mipmap文件夹,而不是以前的drawable文件夹。那么mi

同步发布在: http://snowdream.github.io/blog/2016/03/02/mipmap-vs-drawable-folders/

现在,通过Android Studio创建Android工程,默认会创建mipmap文件夹,而不是以前的drawable文件夹。那么mipmap和drawable文件夹到底有什么区别呢?

定位不同

mipmap文件夹下的图标会通过Mipmap纹理技术进行优化。关于Mipmap纹理技术的介绍,请参考:Mipmap纹理技术简介

经过查询官方和第三方资料,得出结论:

mipmap文件夹下,仅仅建议放启动图标/app launcher icons,也就是应用安装后,会显示在桌面的那个图标。而其他的图片资源等,还是按照以前方式,放在drawable文件夹下。

下面再详细阐述下,得出以上结论的依据:
1.google官方关于mipmap和drawable的定位

drawable/

For bitmap files (PNG, JPEG, or GIF), 9-Patch image files, and XML files that describe Drawable shapes or Drawable objects that contain multiple states (normal, pressed, or focused). See the Drawable resource type.

mipmap/

For app launcher icons. The Android system retains the resources in this folder (and density-specific folders such as mipmap-xxxhdpi) regardless of the screen resolution of the device where your app is installed. This behavior allows launcher apps to pick the best resolution icon for your app to display on the home screen. For more information about using the mipmap folders, see Managing Launcher Icons as mipmap Resources.

2.stackoverflow上关于mipmap和drawable的区别

The mipmap folders are for placing your app icons in only. Any other drawable assets you use should be placed in the relevant drawable folders as before.

用法不同

以ic_launcher为例。
1.放在mipmap文件夹下时,引用方式如下:

android:icon="@mipmap/ic_launcher"

R.mipmap.ic_launcher

2.放在drawable文件夹下时,引用方式如下:

android:icon="@drawable/ic_launcher"

R.drawable.ic_launcher

参考

  1. Mipmap纹理技术简介
  2. mipmap vs drawable folders
  3. google官方关于mipmap和drawable的定位
相关文章
|
6月前
|
XML 存储 编解码
android 目录结构中 drawable(hdpi,ldpi,mdpi) 的区别
android 目录结构中 drawable(hdpi,ldpi,mdpi) 的区别
234 1
|
XML Android开发 数据格式
Android drawable 与 mipmap 文件夹存放图片有区别
Android drawable 与 mipmap 文件夹存放图片有区别
85 0
|
Java API Android开发
Android C++系列:访问Assets 文件夹.md
assets目录是Android的一种特殊目录,用于放置APP所需的固定文件,且该文件被打包到APK中时,不会被编码到二进制文件。 Android还存在一种放置在res下的raw目录,该目录与assets目录不同。
377 0
|
Web App开发 Java Android开发
Android中asset文件夹和raw文件夹区别
转载自:CSDN博客 这阵子有位同学在一个命名非“raw”的文件夹中放置mp3文件,导致R文件报错,故此研究,寻得此篇文章,特做分享。 摘自:http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html Android中asset文件夹和raw文件夹区别 *res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。
1308 0