Android性能分析工具--Android Monitor

作者: 芒果味的你呀 | 来源:发表于2017-09-14 11:02 被阅读166次

    Android Studio 中Android Monitor 很强大,有5个模块,Memory、Network、logcat、CPU、GPU。

    android monitor
    • 内存检测 memory

    memory

    这个可以检测内存泄漏,如果这个值稳定,没有很大的变动,说明没什么问题。

    对于图中从左到右的四个五个按钮:第一个(Enabled)Memory的开关。如果选择关闭,则不对当前进程进行内存监测;第二个(Initiate GC)手动调用GC,我们在抓内存前,一定要手动点击 Initiate GC按钮手动触发GC,这样抓到的内存使用情况就是不包括Unreachable对象的;第三个(Dump Heap java)点击这个按钮的时刻,就在点击的时刻,将获取hprof文件(hprof文件也是我们使用MAT工具分析内存时经常使用的文件)若进行简单的数据分析用这个就可以,需要详细分析那么就得使用MAT工具,如图:

    image.png

    A 区域可以看类视图,class list view;或者包视图,package tree view。
    B 区域对应的是A中选中类的实例对象。
    C 区域是对应B中选中实例的引用链,dominating size可以看到占用的大小

    第四个按钮(Start Allocaton Tracking)开始分配追踪,第一次点击可以指定追踪内存的开始位置,第二次点击可以结束追踪的位置。这样我们截取了一段要分析的内存,等待几秒钟AndroidStudio会给我们打开一个Allocation视图.

    image.png

    打开后我们可以看到各个线程中的方法所占用内存的大小


    thread
    image.png

    第五个按钮就是跳转到官网说明的网页:https://developer.android.com/studio/profile/am-memory.html?utm_source=android-studio

    • NetWork:

    Tx:上传网速
    Rx:下载网速。

    image.png
    • CPU

    这个模块可以监控方法执行的时间轴,可以监测到每个方法的耗时,比较实用。

    image.png image.png

    我们可以看到每个方法的执行时间,也可以看到自己写的方法,
    Inclusive time - 函数本身运行花费时间 + 函数调用其他函数时间
    Exclusive time - 函数本身运行花费时间。
    Invocation count - 是调用次数。
    如果app卡顿现象,那么用此模块可以快速定位出比较耗时的方法。
    Wall Clock Time 和Thread Time的区别是,Wall Clock Time 包括了Thread Sleep的时间,而Thread Time不包括。

    • GPU

    分析GPU的性能,实时查看绘制每一帧所花费的时间:https://developer.android.com/studio/profile/am-gpu.html

    • Logcat:打log绝对是调试中非常好用的工具了

    image.png

    相关文章

      网友评论

      本文标题:Android性能分析工具--Android Monitor

      本文链接:https://www.haomeiwen.com/subject/mmtxsxtx.html