研究了Mat和Heap的分析方法之后,尝试用其他的方式来分析下,Androiddumpsys 的方式来看下结果。
如何得出数据的操作就不说了,网上太多了,只看数据来进行分析。
如图1,启动的时候的情况
执行三次怀疑有泄露的功能之后的数据
再执行三次
再执行三次
数据分析:
Native 数据代表的是JNI层的数据,从mallinfo usmblks 获得
DalviK 数据代表的是Java层的数据,从Runtime Totalmemory获得
Size 代表是能获得的最大的数据
Alloc代表的是目前在使用的数据
1. Native 的 Size
基本保持不变但是随着操作,Alloc在不断的接近,可能存在问题。因为bitmap的数据就存在这里。如果没有释放,呵呵,崩溃时难免的。
2. Dalvik 的 Alloc 没有回落的迹象,也可能存在问题
只能猜测出这些问题。