GC日志的关键字

 

D/dalvikvm: <GC_Reason> <Amount_freed>, <Heap_stats>, <External_memory_stats>, <Pause_time>
<回收原因><回收内存总数><可用内存百分比><外部内存状态><回收占用时间>

 

<GC_Reason> : GC触发原因

  • GC_CONCURRENT:当已分配内存比例达到某一值时,自动触发GC;
  • GC_FOR_MALLOC:分配内存空间(如创建对象)时,内存不足以分配时触发。系统会杀死应用进程并且回收所有内存。
  • GC_HPROF_DUMP_HEAP: 当请求创建HPROF文件来分析堆内存时触发的GC;
  • GC_EXPLICIT:当显式调用GC时,例如调用System.gc()或者通过DDMS工具显式地告诉系统进行GC操作等;
  • GC_EXTERNAL_ALLOC: 在API版本10(Android3.0)以下的时候的垃圾回收机制。3.0以上版本所有的内存都在Dalvik堆中分配。它是用来回收dalvik虚拟机以外的内存(例如Bitmap中的内存或者NIObuffer中的内存)。

<Amount_freed> : 本次回收内存的大小;

<Heap_stats>:可用内存百分比(49% free) 已用内存/堆上总内存(1132K/2208K);

<External_memory_stats> 外部内存的统计信息:

系统API版本10以下的系统中,Dalvik虚拟机堆外分配的内存 / 限制的内存量

<Pause_time>  本次GC操作导致应用程序暂停的时长(开始和结束各一次)。

关于这个暂停的时间,在2.3之前GC操作是不能并发进行的,也就是系统正在进行GC,那么应用程序就只能阻塞住等待GC结束。而自2.3之后,GC操作改成了并发的方式进行,就是说GC的过程中不会影响到应用程序的正常运行,但是在GC操作的开始和结束的时候会短暂阻塞一段时间。

如果触发原因不是GC_CONCURRENT,这一行为单个时间值,表示垃圾收集的耗时时间。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值