114、drawable和mipmap 目录下图片的区别

android 在 API level 17 加入了 mipmap 技术,对 bitmap 图片的渲染支持 mipmap 技术,来提高渲染的速度和质量。
mipmap 是一种很早就有的技术了,翻译过来就是纹理映射技术。android 中的 mipmap 技术主要为了应对图片大小缩放的处理,在android 中我们提供一个 bitmap 图片,由于应用的需要(比如缩放动画),可能对这个 bitmap 进行各种比例的缩小,为了提高缩小的速度和图片的质量,android 通过 mipmap 技术提前对按缩小层级生成图片预先存储在内存中,这样就提高了图片渲染的速度和质量。

api 中通过 Bitmap 的 public final void setHasMipMap (boolean hasMipMap) 方法可以让系统渲染器尝试开启 Bitmap 的 mipmap 技术。但是这个方法只能建议系统开启这个功能,至于是否正真开启,还是由系统决定。
res 目录下面 mipmap 和 drawable 的区别也就是上面这个设置是否开启的区别。mipmap 目录下的图片默认 setHasMipMap 为 true,drawable 默认 setHasMipMap 为 false。
google 建议大家只把 app 的启动图标放在 mipmap 目录中,其他图片资源仍然放在 drawable 下面。

将icon放置在mipmap文件夹还可以让我们程序的launcher图标自动拥有跨设备密度展示的能力

比如说一台屏幕密度是xxhdpi的设备可以自动加载mipmap-xxxhdpi下的icon来作为应用程序的launcher图标,这样图标看上去就会更加细腻。

 

鉴于mipmap这个特性,回答上面提出的问题,我们将所有的资源图片放在mipmap下面,Android系统将不得不耗费时间去寻找合适的图片,相反,放在drawable相应文件夹下,Android系统很容易根据密度找到对应的资源文件。

把splash启动图片 和一些自己项目里要执行缩放动画的图片放进去即可 其余的还放在drawable下面。
放在mipmap下 系统也就是自动设置的setHasMipmap为true了 会提前进行一个压缩 提高渲染的速度 其余的放里面就有点耗性能了。

时间: 2025-01-16 17:53:45

114、drawable和mipmap 目录下图片的区别的相关文章

关于Studio中引用mipmap目录下图片的问题

关于mipmap目录的作用,我就把它认为是drawable的替代品,今天在引用其资源文件的时候报错,导致R文件无法生成的问题. 回顾R文件丢失之前的操作,我是将一个9.png图片丢到了drawable目录,原因是起初放在mipmap目录,系统无法找到.丢过去之后,R文件丢失,感觉很奇怪,后来想起貌似studio对9.png图片要求比较严格,必须将其修改之后才能使用(即不能简简单单讲png图片修改文件名为9.png即可),那就老老实实讲png修改成.9.png,再次丢回mipmap目录,编译通过,

Android 获取SDCard中某个目录下图片

本文介绍Android开发中如何获取SDCard中某目录下的所有图片并显示出来,下面的我们提供的这个函数是通用的,只要提供路径就可以查询出该目录下所有图片的路径信息,并保存到一个List<String>中. 1.获取SDCard中某个目录下图片路径集合 public List<String> getPictures(final String strPath) { List<String> list = new ArrayList<String>(); Fil

设置assets目录下图片到内部存储

public void bt5_OnClick(View v) { //得到文件路径 String path=getFilesDir().getAbsolutePath()+"/test.jpg"; Toast.makeText(MainActivity.this, "path="+path, Toast.LENGTH_SHORT).show(); //从内部存储的图片得到Bitmap,BitmapFactory.decodeFile("文件路径"

execl 自动加载目录下图片

在项目实施的过程中 ,给员工拍照了.但时候不好插在谁拍了,命名有没有错误等原因,需要直观的查看,并给员工自行验证 综合需求,在网上找个相关资料查看.然后根据实际情况汇总.得带的解决办法如下: 1.把人员信息相关导入 2.打开 execl 表的宏功能 ,新增宏 3.变形宏代码 代码如下: Sub AutoAddPic()    Application.ScreenUpdating = False        For Each Shp In ActiveSheet.Shapes   If Shp.

android 显示目录下图片

知识点 1. 网格视图 2. 读取文件 MainAcitvity package com.test.gridview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.GridView; import android.widget.

在android工程中,res目录下又有anim、drawable、layout、menu、raw、values和xml文件夹,分别用来保存?

res目录主要是存放资源文件的!layout 布局 这个就是你经常看到的与用户交互的界面的 xml 文件,就是各个 view 的排列和嵌套,没什 么好说的啦 风格和主题. 风格主要是指 view 的显示风格 ;anim 一般是设置动画,画资源分为两种,一是实现图片的 translate.scale.rotate.alpha 四种变化.还可以设置 动画的播放特性:另一种是帧动画,逐帧播放设置的资源; drawable 主要是是存放所使用的图片的! menu:菜单 菜单即可以从代码中实现也可以在资源

获取Assets目录下的图片显示并上传

1 package com.jingle.getlocal; 2 3 import java.io.ByteArrayOutputStream; 4 5 import java.io.InputStream; 6 7 import org.apache.http.Header; 8 9 import sun.misc.BASE64Encoder; 10 11 import com.loopj.android.http.AsyncHttpClient; 12 import com.loopj.an

如何用几行代码读取目录下所有的图片

该程序同时也解决opencv中文路径,图片不能正常读取的问题. 最近写了一个,爬去了较多的妹子资源,但是需要手动的一个一个的去浏览图片,闲太麻烦了,能不能制作一个软件,能直接读取某目录下的所有图片呢?好,说干就干吧. 首先需要引入一些常用的库: import cv2 import numpy as np from matplotlib import pyplot as plt import os import time 接下来,就是所有的代码量了,直接上干货吧 ph = r"E:\image\小

获取Assets目录下的图片并显示

1 package com.jingle.getlocal; 2 3 4 import java.io.InputStream; 5 6 import android.app.Activity; 7 import android.content.res.AssetManager; 8 import android.graphics.Bitmap; 9 import android.graphics.BitmapFactory; 10 11 import android.os.Bundle; 12