文件夹寄存和加载战略 图片分辨率 Bitmap内存占用提升的关键

  • 电脑网络维修
  • 2024-11-15

图片内存占用计算公式

同一张图片,展如今不同分辨率手机上,内存占用大小分歧吗?

不分歧。由于inDensity的数值分歧,但targetDensity的数值不分歧,所以图片的缩放比例不同,占用内存人造不同.

同一手机设施加载不同分辨率文件夹下的同一图片,内存占用大小分歧吗?

分歧。只管不同分辨率下的inDensity数值是不同的,但只需设计师是依照规范切的图,那么不同分辨率图片之间的宽高缩放比例=inDensity之间的比例。 所以最终不同分辨率的图片在同一设施上展现时,图片宽高缩放后失掉的最终值是分歧的,内存也就分歧了。

ImageView控件的大小会影响内存占用大小吗?

不会。由于经过src属性,咱们在失掉对应的drawable时,设置的density为0,density为0的状况下,图片的宽高是不会启动任何的缩放的,故而占用内存大小也不会有任何的扭转。 内存占用大小=图片原始宽*图片原始高*色深

同一个资源id,经过BitmapFactory创立的bitmap和xml文件中ImageView设置的src,占用内存能否分歧?

会有不分歧的场景。假设inDensity和targetDensity不分歧,那么经过BitmapFactory创立的bitmap会启动缩放,从而造成内存大小!=图片原始宽*图片原始高*色深。而xml经过src属性设置的图片,由于density=0的要素,图片不会启动任何的缩放,内存占用大小=图片原始宽*图片原始高*色深

三方图片加载框架设置图片大小,能否会影响图片占用内存?

会。三方框架设置图片大小的操作实质,是修正图片的宽高,图片的宽高变了,占用内存大君子造也就变了

Android图片适配的规定

先找手机设施dpi对应的drawable文件夹,假设文件夹找不到,战略是优先图片增加。 所以会接着去找高分辨率下文件夹有没有这张图片,高分辨率都没有的状况下,会接着从低分辨文件夹中查找.

比如:手机设施dpi为320(xhdpi),假设在drawable-xhdpi文件中找不到对应图片,则接着去drawable-xxhdpi、drawable-xxxhdpi文件夹中查找,假设依然没有找到,则去drawable-hdpi、drawable-mdpi下查找。

为什么倡导图片要放在正确的分辨率文件夹下?

只针对手机设施的分辨率是xxhdpi做剖析,其他分辨率自行思索,targetDensity=480

分辨率是xxhdpi的图片,放在正确的drawable-xxhdpi文件夹下。 inDensity=480,targetDensity=480,图片缩放比例 scale=1

分辨率是xxhdpi的图片,放在失误的drawable-xhdpi文件夹下。 inDensity=320,targetDensity=480,图片缩放比例scale=1.5

内存大小从width*height*pointMemeory变成了(width*1.5+0.5)*(height*1.5+0.5)*pointMemory,造成占用的内存参与了许多。

一个dpi为320的手机设施,加载一张drawable-xxxhdpi下的图片,占用的内存和加载一张drawable-xhdpi下的图片一样吗?

当然一样,加载高分辨率图片时,图片是会增加的,图片大小会缩放到和其他分辨率分歧,故而占用内存大小是分歧的

既然咱们手机加载不同分辨率目录下的同一图片,占用内存大小都是分歧的,那为什么还要创立多个drawable目录呢?间接经常使用drawable-xxxhdpi,岂不是还可以增加包体积?

这里触及到一个疑问,就是xml文件中咱们经常使用ImageView控件,间接经过src属性援用图片资源的场景。

而经过xml文件援用图片资源,占用的内存大小如下: 由于经过src属性,咱们在失掉对应的drawable时,设置的density为0,density为0的状况下,图片的宽高是不会启动任何的缩放的,故而占用内存大小也不会有任何的扭转。内存占用大小=图片原始宽*图片原始高*色深

所以假设我是320的手机,我加载xhdpi下的图片,假定图片是18*12 argb8888,那内存占用就是18*12*4,但假设我只在xxxhdpi下有图片,假定图片是36*24,那内存占用就是36*24*4,内存占用一下就翻了4倍。而咱们drawable目录下的图片,简直都是用于xml援用图片,很少会用bitmapFactory创立,所以还是每个文件夹下都放对应分辨率的图片是最好的。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7420.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号