Android Monitor使用介绍

本文介绍了Android Studio内置的性能监测工具,包括Memory Monitor用于检测内存泄漏,详细解析了Dump Java Heap、MAT工具的使用,以及GPU Monitor在60fps目标下的意义和GPU Trace获取方法。通过对这些工具的了解,开发者可以更好地优化APP性能。
摘要由CSDN通过智能技术生成

Android Studio 内置了四种性能监测工具Memory Monitor、Network Monitor、CPU Monitor、GPU Monitor,我们可以使用这些工具监测APP的状态,该文简单介绍下这些工具的使用

Memory Monitor

Memory Monitor工具主要是用来监测APP的内存分配情况,判断是否存在内存泄漏。连接设备,选择好要监测的APP,如图所示:

A:手动触发GC操作
B:获取当前的堆栈信息,生成.hprof文件
C:内存分配追踪工具,生成.alloc文件
D:已使用内存
E:剩余可用内存
通过与应用交互并在Memory Monitor中观察它是如何影响内存的使用,图表可以为你展示一些潜在的问题:
1.频繁的垃圾收集活动使应用运行缓慢。
2.应用耗尽内存导致app崩溃.
3.潜在的内存泄漏
正常情况下,上图中的D区域会随着时间的走势慢慢上升(就算你与APP没有任何交互),直到E区域被用完,则会触发GC操作,释放内存,周而复始。如果你发现你的应用是静态的,但是E区域的内存很快就被用完了,即频繁的触发GC操作,这时你就应该引起重视,说不定你的代码中就存在着引起内存泄漏的隐患。

Dump Java Heap

使用场景:定位内存泄漏
点击上图中的B按钮开始检测APP,此时APP会变得很卡,容易发生ANR,一段时间过后会生成.hprof文件,如下图所示

这里的截图是我故意生成的一个能引起内存泄漏的例子,点击上图右上方的Analyzer Tasks按钮,若代码中存在内存泄漏隐患,在其下方会列出可能引起内存泄漏的Activity,如上图右下方的Leaked Activities,之后我们便可以结合左下方Reference Tree中指出的问题分析,如果你有源码的话还可以索引源码(右键->Jump to source)。实例代码如下:

多次旋转屏幕,使得内存不断增加就容易引起内存泄漏。
上面的例子比较简单,可以直接通过Memory Monitor工具就能直接看出,在平常的开发中内存泄漏的问题往往没有这么简单,我们可以借助MAT工具分析。

MAT

MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象。
在使用MAT工具前,我们需要将.hprof文件转换成标准的.hprof文件才能被识别,在Android Studio中可以通过以下操作转换

之后用MA

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值