一、GC_Reason 触发垃圾回收的回收的集中原因:

类型 描述
GC_CONCURRENT 内存使用将满时,并发的进行垃圾回收。
GC_FOR_MALLOC 当内存已满应用尝试分配内存时会出触发垃圾回收,所以系统会停止应用进行垃圾整理
GC_HPROF_DUMP_HEAP 当创建HPROF文件分析内存时触发垃圾收集。
GC_EXPLICIT 显示的垃圾收集,例如当你调用gc() (应该避免调用,而是交由系统处理)
GC_EXTERNAL_ALLOC 只会在API 10以下版本触发。新版都只会在Dalvik Heap上分配。

二、Amount freed 回收的内存大小

三、Heap stats 空闲内存比例和(活跃对象总数/内存大小)

四、External memory stats API 10以下内存分配大小

五、Pause time 越大的堆暂停时间越长,并发会显示两个暂停:一个是回收开始时间,另外一个是回收结束时间

例子: D/dalvikvm(27235): GC_FOR_ALLOC freed 836K, 27% free 9653K/13116K, paused 101ms, total 104ms

LOG信息 描述
freed 836K 此次回收836K
27% free 可用内存空间27%
9653K/13116K 活跃对象与总大小具体指
paused 101ms 暂停进行垃圾回收用时101ms
total 104ms 总用时104ms

  
其他 external 0K/0K,表示可用外部内存/外部内存总量 paused 2ms+2ms,第一个时间值表示markrootset的时间,第二个时间值表示第二次mark的时间。 如果触发原因不是GC_CONCURRENT,这一行为单个时间值,表示垃圾收集的耗时时间。 
可以通过在LogCat通过 “GC_” 关键字 + TAG 两项过滤

参考资料: https://developer.android.com/tools/debugging/debugging-memory.html#LogMessages

Android 内存分析工具 - LogCat GC的更多相关文章

  1. Android 内存分析工具 MAT(Memory Analyzer Tool)

    如果使用DDMS确实发现了我们的程序中存在内存泄漏,那又如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾的分析代码逻辑,那肯定 会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一 ...

  2. Android内存分析工具DDMS heap + MAT 安装和使用

    一  Java内存分析工具扫盲 如果像我一样一点都不了解,可以先进行内存分析工具扫盲   MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储 ...

  3. Android内存分析工具

    在Android系统开发过程中,经常会要去分析进程的内存的使用情况,简单介绍下Android内存分析的相关工具. 文章参考: 1.dumpsys 2.memory-analysis-command 1 ...

  4. android--------Android内存分析工具的使用

    内存分析(in-memory analytics)是我们编写速度快.效率高的代码必不可少的知识.如果自己编写的代码在内存的分配一无所知,我想这样的程序让你去优化,应该是无从下手的.那么内存分析是什么? ...

  5. Android内存优化(三)详解内存分析工具MAT

    前言 在这个系列的前四篇文章中,我分别介绍了DVM.ART.内存泄漏和内存检测工具的相关知识点,这一篇我们通过一个小例子,来学习如何使用内存分析工具MAT. 1.概述 在进行内存分析时,我们可以使用M ...

  6. 记一次Android内存分析过程

    前言 上周五的时候,祝峰找到我,反映了Android收银台买单结果页内存飙升的问题.我在自己的机器上也试着重现了一下,发现从支付台-微信支付成功并返回后,进入买单结果页的内存会突然增大,导致GC,如图 ...

  7. 正确使用Android性能分析工具——TraceView

    http://blog.jobbole.com/78995/     首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他技术 - 导航条 - 首页 最新文章 IT 职场 前端 - Ja ...

  8. android--------Eclipse中ddms heap内存分析工具

    无 论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方. Android tools中的DDMS就带有一个很不错的内存监测工具Heap ...

  9. JS内存泄漏 和Chrome 内存分析工具简介(摘)

    原文地址:http://web.jobbole.com/88463/ JavaScript 中 4 种常见的内存泄露陷阱   原文:Sebastián Peyrott 译文:伯乐在线专栏作者 - AR ...

随机推荐

  1. HttpUtility.HtmlEncode 方法

    將字串轉換為 HTML 編碼的字串. 例如: publicstringWelcome(string name,int numTimes =1){     returnHttpUtility.HtmlE ...

  2. 夺命雷公狗—angularjs—2—模拟表单验证

    这里我们就来借助妹子ui来搭建下模版,废话不多说,代码如下图所示: <!doctype html> <html lang="en"> <head> ...

  3. Power Gating的设计(概述)

    Leakage power随着CMOS电路工艺进程,功耗越来越大. Power Domain的开关一般通过硬件中的timer和系统层次的功耗管理软件来进行控制,需要在一下几方面做trade-off: ...

  4. JSP-01-搭建Web应用环境

    一.搭建Web应用环境 Tomcat 下载会有两种版本,安装版和解压版,这里以解压版为例 Web服务: 是实现“基于Web无缝集成”的目标而提出的全新概念,希望通过Web服务能够实现不同的系统之间的相 ...

  5. Javascript之回调函数(callback)

    1.回调函数定义: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方 ...

  6. OpenStack 的防火墙规则流程

    Contents [hide] 1 发现的问题 2 解决过程 3 删除临时错误数据 4 其实前面的解决办法是错的 发现的问题 3台虚拟机在同一宿主机,防火墙配置都一样,但是他们的网络表现不一致,有的能 ...

  7. c++实现mlp神经网络

    之前一直用theano训练样本,最近需要转成c或c++实现.在网上参考了一下其它代码,还是喜欢c++.但是看了几份cpp代码之后,发现都多少有些bug,很不爽.由于本人编码能力较弱,还花了不少时间改正 ...

  8. 【python cookbook】【数据结构与算法】17.从字典中提取子集

    问题:想创建一个字典,其本身是另一个字典的子集 解决方案:利用字典推导式(dictionary comprehension)可轻松解决 # example of extracting a subset ...

  9. oracle 自动关闭 数据库连接

    数据库启动后过一会自动断开连接(大概10分钟)    方法一.直接修改资源配置文件     分三个步骤在sqlplus环境下完成.     第一步,查询资源文件,找到CONNECT_TIME所在的pr ...

  10. https笔记

    TCP提供了可靠的,面向连接的字节流服务. 1)应用数据分割成TCP认为适合发送的数据块,通过MSS(最大数据包长度)来控制. 2)重传机制 3)对首部和数据进行校验 4)TCP对收到的数据进行排序, ...