android 内存分析心得

来源:互联网 发布:js对象有private 编辑:程序博客网 时间:2024/06/02 07:02


常用的内存分析工具 mat ,可以检测 内存泄露的地方,具体使用可以百度或谷歌,但是由于安卓版本的不同,图片存储位置不一样(3.0以前是分配在native heap上,3.0以后是分配在VM heap上),而且mat检测不到native内存,所以需要配合 DDMS使用,常用到devices,heap,特有用的一个命令(adb shell dumpsys meminfo 包名)捕捉内存快照。

下面是怎么把图片存放到native heap里(参考:http://labs.easymobi.cn/?p=3351):

BitmapFactory.Options options = new BitmapFactory.Options();options.inPreferredConfig = Config.ARGB_8888;options.inPurgeable = true;// 允许可清除options.inInputShareable = true;// 以上options的两个属性必须联合使用才会有效果String sname = String.format( “xxx.png”, sTowerStyle, j, sDirction, i);InputStream is = am.open(sname);arrBmp[ iBmpIndex] = BitmapFactory .decodeStream(is, null, options);




原创粉丝点击