Android性能测试之Memory Monitor

时间:2024-04-04 19:36:41

https://developer.android.com/studio/profile/am-memory.html?hl=zh-cn

studio上有一个测试实时内存的小工具,简单介绍一下。

1. Memory monitor的作用
   以时间为横轴显示当前可用的和已分配的java存储器的曲线图。
   显示垃圾回收(GC)随着时间的推移的事件。
   启动垃圾收集事件。
   快速测试应用运行卡顿是否跟过多的GC有关。
   快速测试应用的崩溃是否可能与内存溢出有关。
   
 2. Android monitor面板
    Android性能测试之Memory Monitor
 3. 如何使用
    1. 安装并打开android studio,如果有要测试的应用的源码,最好import进来并build成功
2. 手机开启usb调试,并开启root权限
3. 连接手机,在studio里面勾选Tools-Android-Enable ADB Integration
4. 点击studio底部的Android Monitorss
5. 切换到memory tab查看


 4. Memory monitor的作用
    android monitor的面板总共有4个monitor,分别是memory monitor,CPU monitor, Network monitor GPU monitor,这一次我们主要介绍memory monitor
Android性能测试之Memory Monitor
从上图可以看出来,memory monitor的横轴是时间轴,纵轴便是内存的情况,标蓝色的区域表示当前占用的内存。
上面有4个按钮,依次是暂停按钮,GC按钮,dump java heap按钮和start allocation tracking按钮。
暂停按钮:停止内存检测
GC:手动调用GC,我们在抓内存前,一定要手动点击 Initiate GC按钮手动触发GC,这样抓到的内存使用情况就是不包括Unreachable对象的(Unreachable指的是可以被垃圾回收器回收的对象,但是由于没有GC发生,所以没有释放,这时抓的内存使用中的Unreachable就是这些对象)
Dump java heap:点击生成.hprof文件,文件用hprof-conv转后可以用studio查看,其他博文里讲过
start allocation tracking:开始分配追踪,第一次点击可以指定追踪内存的开始位置,第二次点击可以结束追踪的位置。这样我们截取了一段要分析的内存,等待几秒钟AndroidStudio会给我们打开一个Allocation视图(感觉和MAT工具差不多,不过MAT工具更加强大,我们也可以获取hprof文件,使用MAT来分析)、
 5. momory monitor可以发现的问题
    1. 内存抖动
2. 查看大内存分配的场景
3. 发现内存不断增长的场景
4. 确认应用卡顿是否是因为执行gc导致