欢迎来到天天文库
浏览记录
ID:40351499
大小:583.88 KB
页数:10页
时间:2019-07-31
《Android_memory leak debugging》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Android内存泄漏调试Madeby李文栋liwd@thunderst.com
2、rayleeya@gmail.com2010-07-25Friday一、概述.............................................................................................................................................1二、Android(Java)中常见的容易引起内存泄漏的不良代
3、码.........................................................1(一)查询数据库没有关闭游标................................................................................................2(二)构造Adapter时,没有使用缓存的convertView..................................................
4、........3(三)Bitmap对象不在使用时调用recycle()释放内存.............................................................4(四)释放对象的引用................................................................................................................4(五)其他......................
5、..............................................................................................................5三、内存监测工具DDMS-->Heap................................................................................................5四、内存分析工具MAT(MemoryAnalyze
6、rTool)..........................................................................7(一)生成.hprof文件.................................................................................................................7(二)使用MAT导入.hprof文件..........................
7、.....................................................................8(三)使用MAT的视图工具分析内存.....................................................................................8Android内存泄漏调试一、概述Java编程中经常容易被忽视,但本身又十分重要的一个问题就是内存使用的问题。Android应用主要使用Java语言编写,因此
8、这个问题也同样会在Android开发中出现。本文不对Java编程问题做探讨,而是对于在Android中,特别是应用开发中的此类问题进行整理。由于作者接触Android时间并不是很长,因此如有叙述不当之处,欢迎指正。二、Android(Java)中常见的容易引起内存泄漏的不良代码Android主要应用在嵌入式设备当中,而嵌入式设备由于一些众所周知的条件限制,通常都不会有很高的配置,特别是内存是比较有限的。如果我们编写的代码当中有太多的对内存使用不当的地方,难免会使得我们的设备运行缓慢,甚至是死机。为了
9、能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,它是由Zygote服务进程孵化出来的,也就是说每个应用程序都是在属于自己的进程中运行的。一方面,如果程序在运行过程中出现了内存泄漏的问题,仅仅会使得自己的进程被kill掉,而不会影响其他进程(如果是system_process等系统进程出问题的话,则会引起系统重启)。另一方面Android为不同类型的进程分配了不同的内存使用上限,如果应用进程使用
此文档下载收益归作者所有