首页 > 代码库 > RAM调优之日志分析

RAM调优之日志分析

D/dalvikvm: <GC_Reason> <Amount_freed>, <Heap_stats>, <External_memory_stats>, <Pause_time>
每隔一段时间。系统回收器都会打印内存回收的情况。日志的内容格式就是上面那条格式。以下是具体说明
<回收原因><回收内存总数><可用内存百分比><外部内存状态><回收占用时间>
D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/5261K, paused 2ms+2ms
GC Reason GC回收原因(是什么触发了回收,回收的类型是什么)包括下面类型
GC_CONCURRENT 并发回收
在你的程序堆栈将达到最大值的时候。并发的回收内存。

GC_FOR_MALLOC 分配时回收
假设你的程序请求内存但此时堆栈已经是满了,这种话系统会停止你的程序并回收内存。
GC_HPROF_DUMP_HEAP 当你创建HPROF文件分析内存堆栈的时候。
GC_EXPLICIT 精确释放
程序中明白要求回收内存。比方调用gc(最好避免主动调用应当相信回收器会自己主动在须要的时候回收内存的)
GC_EXTERNAL_ALLOC
This happens only on API level 10 and lower (newer versions allocate everything in the Dalvik heap). A garbage collection for externally allocated memory (such as the pixel data stored in native memory or NIO byte buffers).
Amount freed
回收内存总数
回收器回收的内存总数。

Heap stats
可用内存百分比
可用内存百分比=100%-已用内存/可用内存

外部内存状态
仅仅有API 10或下面的设备才会有。已分配内存/可分用内存总数
Pause time
回收占用时间
越大的内存堆栈回收须要的时间越长。

并发释放时间有两个一个是回收開始时,一个是接近完毕时的时间。



RAM调优之日志分析