【Android】Android性能测试之DDMS的使用

来源:互联网 发布:打新基金 知乎 编辑:程序博客网 时间:2024/06/06 00:51

开发Android应用,进行性能测试是必不可少的一项工作,很多人往往忽略了这方面。Android自带的性能测试工具,可以在DDMS视图中找到。我们设备列表中,点击选中我们的要测试的应用程序。然后,点击“Update Heap”的小图标。如下图:



然后,在DDMS视图右边,我们切换到"Heap"的Tab页,点击"Cause GC",就可以显示内存使用的具体统计数据了。如下图:



内存统计数据视图分3部分:

上面的表,““Heap Size”列显示了Android系统为Android应用限定的堆空间大小,Allocated列显示了该应用已经分配的内存大小,Free列表示空闲的内存大小,%Used列表示内存使用比例,#Objects列表示堆空间中对象的个数。

中间的表,列出了堆空间各种类型对象(如数据对象、类对象等)的具体信息,包括个数、占内存大小等。这里,与我们Android应用内存密切相关的是数据对象(data object)。

下面的图表,横坐标表示对象的大小,纵坐标表示对象的个数,通过这个图表,可判断:占用了我们内存空间的,到底是被一些大对象占据,还是有很多小对象累积呢?

这里说说我们最常关注的中间的表的data object行。我们App的性能,与数据对象大小惜惜相关。App运行过程中,关注data object的Total Size变化,对我们排查性能短板很有帮助。提醒一下,只需要点击一次Cause GC,不需要重复点击,因为这些数据表与图表会在App运行过程中自动更新。

Java有自动回收机制,内存被分配了,而用完后又被回收了,一个稳健的App消耗的内存大小会保持在一个稳定的值范围。当一些分配在堆空间的对象,若不能够被自动回收,而我们也没有手动的释放,就容易造成内存溢出。多关注一下DDMS,看看数据内存大小的基数和变化,这个很重要!


@容新华技术博客 - http://blog.csdn.net/rongxinhua - 原创文章,转载请注明出处


1 0
原创粉丝点击