码迷,mamicode.com
首页 > 其他好文 > 详细

Drawable文件夹不正确导致的内存升高问题

时间:2018-10-13 02:23:39      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:其他应用   加载   原则   内存占用   google   draw   设备   nod   假设   

1.玩手机的时候点了下应用管理,发现一个问题,我自己写的APP内存占用竟然达到了200多M,而手机中其他应用普遍都在100M以内,经过排除,发现是图片加载引起的

2.写了一个Demo发现,一张1920*1080的图片放在drawable文件夹就会使APP多70M内存,但是1920*1080*4也才7M,Google一番后发现可能和drawable文件夹的名称有关系,将图片换到drawable-xxhdpi文件夹后内存就正常了

Drawable查找顺序

APP在查找图片资源的时候遵循先高后低的原则,假设设备的分辨率是xxhdpi,那么查找顺序如下

  • 先去drawable-xxhdpi文件夹查找,如果有这张图片就使用,这个时候图片不会缩放
  • 如果没有找到,则去更高密度的文件夹下找,例如drawable-xxxhdpi,密度依次递增,如果找到了,图片将会缩小,因为系统认为这些图片都是给高分辨率设备使用的
  • 所有高密度文件夹都没有的话,就会去drawable-nodpi文件夹去找,如果有也不会缩放
  • 还是没有的话,就会去更低密度的文件夹下面找,xhdpi,hdpi等,密度依次递减,如果找到了,图片将会放大,因为系统认为这个图片是给低分辨率设备使用的

而drawable文件夹默认的dpi为160(等同于mdpi),所以图片将会放大,导致内存增高

Drawable文件夹不正确导致的内存升高问题

标签:其他应用   加载   原则   内存占用   google   draw   设备   nod   假设   

原文地址:https://www.cnblogs.com/Potato-Eater/p/9781162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!