移动App性能测评与优化1.2.2 Dalvik Heap的常见问题

1.2.2 Dalvik Heap的常见问题


随着测试的执行,随之而来的就是一大堆产生的数据。对产生的数据进行分析,找出可能存在的问题,以及问题可能的原因是接下来的重点。

由于大部分Android应用是以Java代码开发的,所以Dalvik Heap内存出现问题也是最常见的情况。常见的现象有以下几种:

随着功能的反复执行,Heap内存一直在持续增长。这种情况通常是出现了内存泄漏,这种情况最适合用LeakCanary等泄漏检查工具进行白盒测试分析。

代码执行时出现了频繁的GC,Heap Alloc内存大幅度波动。这种情况通常是分配了许多临时变量或数组,随后又被迅速回收,这种情况在确定具体场景后适合使用Heap Viewer / Allocation Tracker等工具来查看具体分配的对象。

每次启动应用后,Heap内存相比以前版本稳定增长。这种情况通常出现在启动后待机或使用某功能后,可能是由新功能及代码改动引入的固定内存增长。这种情况适合获取Heap Dump后进行多版本或功能使用前后的对此,能够迅速找到增长原因。

Heap Alloc变化不大,但进程的Dalvik Heap Pss(Proportional Set Size)内存明显增加。这种情况比较少见,是由于分配了大量小对象造成的内存碎片,在后面的章节里会详细讲解,具体内容请见下一节。

上一篇:关于域名注册你想知道的那些事儿——企业怎样制定本公司的域名策略


下一篇:我写了一个脚本,可在“任意”服务器上执行命令!