分析Android log中的Memory GC

ART的 GC日志格式

I/art: <GC_Reason> <GC_Name> <Objects_freed>(<Size_freed>) AllocSpace Objects, <Large_objects_freed>(<Large_object_size_freed>) <Heap_stats> LOS objects, <Pause_time(s)>

其中依次表示为:

  1. 垃圾回收原因
  2. 垃圾回收名称
  3. 释放的对象:此次GC从非大型对象空间回收的对象数量;
  4. 释放的大小:此次GC从非大型对象空间回收的字节数量;
  5. 释放的大型对象:此次GC收从大型对象空间回收的对象数量;
  6. 释放的大型对象大小:此次GC从大型对象空间回收的字节数量;
  7. 堆统计数据:空闲百分比与(活动对象数量)/(堆总大小)
  8. 暂停时间:常情况下,暂停时间与垃圾回收运行时修改的对象引用数量成正比。当前,ART CMS(Concurrent mark sweep) 垃圾回收仅在垃圾回收即将完成时暂停一次。移动的垃圾回收暂停时间较长,会在大部分垃圾回收期间持续出现。

Memory GC的分析

下载QTrace(http://www.qtrace.top)

运行QTrace.bat或者QTrace.sh, 导入Android log.

在logcat页面,单击右键菜单:脚本 MemoryGC Chart, 得到 Memory GC的分析结果。

从图表中,可以很方便发现那些Memory GC释放了较多的内存。

同时也可以很方便的看到那些 Memory GC的 pause时间比较长,这对分析手机卡顿很有帮助。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值