mipmap和drawable文件夹的区别

同步发布在: 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的定位
时间: 2025-01-20 20:06:01

mipmap和drawable文件夹的区别的相关文章

xml-如何访问 drawable 文件夹中的图像?

问题描述 如何访问 drawable 文件夹中的图像? 我使用一个XML 文件来显示一个""About"" 页面.这个XML文件是在assets文件夹中,使用一个WebView 布局显示.我想使用 css 来给这个xml文件设置背景图像.这个图像是在 drawable-mdpi 文件夹中.如何访问这个图像? <style type=""text/css"">body{background-image:url('pa

viewpager-怎么把res文件夹下drawable文件夹下的图片保存到本地或者本地相册

问题描述 怎么把res文件夹下drawable文件夹下的图片保存到本地或者本地相册 我有一个项目是需要把res文件夹下的drawable文件夹下的图片保存到本地相册或者SD卡里面 我有一个viewpager 点击当前的图片让其保存到本地相册或者SD卡 我怎么获取当前的drawable? 解决方案 可以给viewpager里面的imageView添加事件,然后进行保存. 保存imageview到本地: http://www.codes51.com/article/detail_151353.htm

android开发中drawable文件夹下的文件是干什么用

问题描述 android开发中drawable文件夹下的文件是干什么用 android开发中drawable文件夹下的文件是干什么用的是作为对象用,还是作为方法参数用还是如何使用 解决方案 一般是和图片等资源相关的 解决方案二: drawable文件夹一般不放置图片资源,存放一些动画文件.选择器文件.图形配置文件,drawable-mdip/hdip/xhdip文件夹放置图片资源 解决方案三: drawable一般都是放置一些飞图片资源但是又可以管理图片资源的一些xml文件 ,一般都是放置一些s

Android 中raw和assets文件夹的区别

Android 中raw和assets文件夹的区别 以下是我通过整理网上与自己的经验所得. raw 和 assets 的相同点 它们会被原封不动的拷贝到APK中,而不会像其它资源文件那样被编译成二进制的形式. raw 和 assets 的不同点 1.它们在代码中的不同方式 : assets: InputStream assets = getAssets().open("xxxx"); raw: InputStream raw = getResources().openRawResour

Android中asset文件夹与raw文件夹的区别深入解析_Android

*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制.*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类.2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源:1.读取

Android中asset文件夹与raw文件夹的区别深入解析

*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类.2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源:1.读

Android资源文件夹及资源文件的详细介绍

与其他平台的应用程序一样,Android中的应用程序也会使用各种资源,比如图片,字串等,会把它们放入源码的相应文件夹下面,Android也支持并鼓励开发者把UI相关的布局和元素,用XML资源来实现.总结起来,Android中支持的资源有:•颜色值                 /res/values               以resources为Root的XML文件,定义形式为<color name>value</color>•字串                    /r

轻松开启和禁用Windows 7中的Libraries(库)文件夹

为了更好地理解Windows 7中库的概念,我们有必要先回顾一下此前Windows版本中的类似功能.在Windows XP和Vista中,微软给用户提供了一系列特殊的文件夹用于存放个人文档和图片等.在Vista中,这些文件夹的设计是为了帮助用户更快地找到想要找到的文件.不过包括我在内的很多用户还是会在硬盘上到处放文件,这就给系统的索引和搜索带来一定的问题. 因此,在Windows 7中,微软引入了库的概念,这样一来,用户就可以自定义库中的文件夹以迅速找到它们. 在Windows 7中,库是资源管

如何在Linux上使用Meld比较文件夹

我们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧.如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹.已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹. 需要指出的是,本教程中的所有命令和例子都是在 Ubuntu 14.04 上测试的,使用的 Meld 版本为 3.14.2. 用 Meld 比较文件夹 打开 Meld 工具,然后选择 比较文件夹Directory comparison 选项来