一张大图引起的OOM

一张大图引起的OOM

通过堆栈找到具体的类,定位到在项目drawble目录下,放着一张

 

@所有人  刚刚发现了一个粗心引起的OOM. 一张尺寸的默认图放到了drawble/目录下,

一张大图引起的OOM

当在大屏手机上,在xx目录下没有发现对应的图片,就会将drawble目录下的进行比例放大,最后导致了如图所示的OOM。

所以应对方法
1.找UI切几套图放不同目录适配
2.切一套高质量的放在xxx目录(同上原理,一倍图目录没有目标图,三倍图目录有,就会使用三倍图目录的进行缩小使用)

 

https://developer.android.com/training/multiscreen/screendensities  谷歌文档是世界上写的最好的

一张大图引起的OOM

一张大图引起的OOM

也就是说,如果你不希望你放的图片被缩小或者放大再使用,你可以放到drawble/nodpi目录下

一张大图引起的OOM

一张大图引起的OOM

为了使apk体积更小,同时减少ui的工作量,更推荐第2种方式

 

一张大图引起的OOM

也就是说,应用启动图标建议放在mipmap中各个目录中

 

一张大图引起的OOM

一张大图引起的OOM

大家后面放图片的时候稍微注意一下就行