Android Studio 的 Memory Monitor是一款内存监控工具,它能

  • 实时查看App的内存分配情况

  • 快速判断App是否由于GC操作造成内存抖动

  • 快速判断App的Crash是否是因为超出了内存

  • 快速判断App内存不断增加的场景


现在我们来解释下什么是GC、内存抖动,以及危害性。

   GC:GC就是垃圾回收。

   内存抖动:就是由于短时间内大量的对象被创建和回收。

   危害:频繁的内存抖动会导致频繁的GC操作。要知道,执行GC操作的时候,任何线程的任何操作都需要暂停,等待GC操作完成后,其他的操作才能继续运行(所以GC操作越少,对性能影响越少)。所以,频繁大量的GC操作会显著占用帧时间(16ms),如果在帧时间里做了过多的GC操作,那么自然其他的计算、渲染、视频等操作可用时间就变少了。渲染时用户感知到卡顿等性能问题的主要根源。


内存泄漏:指某一段内存在程序功能上已经不需要了,但是垃圾回收机制检测时那段还存还是被需要,不能被回收,所以,不能被使用、不能被回收的内存就是泄漏的内存(出现这种情况的原因是内存存在引用和被引用的关系,导致垃圾回收机制无法实行)。内存泄漏达到一定程度,会使可用内存减少,增加垃圾回收频率,重则倒是内存溢出,程序崩溃。


具体测试方案:

  1.频繁执行对象创建的地方。

  2.使用monkey。


使用步骤可参考:http://blog.csdn.net/itfootball/article/details/48712595

具体描述可参考:http://blog.csdn.net/huang_rong12/article/details/51628264