繁体   English   中英

logcat中的GC_FOR_ALLOC过多

[英]Too many GC_FOR_ALLOC in logcat

在我的应用程序日志上运行logcat时,我看到很多GC_FOR_ALLOC ,但没有GC_CONCURRENT消息。 我知道我有内存泄漏,但是在堆栈和其他站点的任何地方,logcat消息都有很多GC_CONCURRENT消息,而很少有GC_FOR_ALLOC消息。 我想知道我在做什么错? 我的应用程序中是否有内存泄漏的特殊情况? 有什么问题?

顺便说一句:我知道Eclipse MAT,我正在尝试使用MAT修复内存泄漏。 我只是不知道为什么这么频繁地调用GC_FOR_ALLOC

logcat的:

D/dalvikvm(18068): GC_FOR_ALLOC freed 3974K, 8% free 54640K/58964K, paused 42ms, total 42ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 473K, 8% free 54622K/58964K, paused 28ms, total 28ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 139K, 7% free 55010K/58964K, paused 19ms, total 20ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 54.623MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 122K, 7% free 55071K/59032K, paused 29ms, total 29ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 54.683MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 20K, 7% free 55172K/59100K, paused 20ms, total 20ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 54.781MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 310K, 7% free 55165K/59168K, paused 18ms, total 19ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 54.774MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 485K, 7% free 55165K/59236K, paused 17ms, total 17ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 54.774MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 245K, 7% free 55365K/59304K, paused 17ms, total 17ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 54.970MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 66K, 7% free 55424K/59372K, paused 28ms, total 28ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.027MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 104K, 7% free 55568K/59440K, paused 21ms, total 21ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.167MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 47K, 7% free 55676K/59508K, paused 30ms, total 30ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.274MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 26K, 7% free 55791K/59576K, paused 24ms, total 24ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.386MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 30K, 7% free 55923K/59644K, paused 21ms, total 21ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.515MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 22K, 7% free 56048K/59712K, paused 17ms, total 18ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.636MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 611K, 7% free 55975K/59780K, paused 23ms, total 24ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.566MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 279K, 7% free 55975K/59848K, paused 20ms, total 20ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.565MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 92K, 7% free 56051K/59916K, paused 30ms, total 30ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.639MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 351K, 7% free 56272K/59984K, paused 31ms, total 31ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 25K, 7% free 56269K/59984K, paused 30ms, total 30ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.853MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 105K, 7% free 56320K/60052K, paused 19ms, total 19ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 55.902MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 526K, 7% free 56369K/60120K, paused 20ms, total 20ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 934K, 7% free 56462K/60120K, paused 19ms, total 20ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 56.041MB for 65552-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 140K, 7% free 56510K/60188K, paused 34ms, total 34ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 56.765MB for 775824-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 30K, 6% free 57414K/60948K, paused 17ms, total 17ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 57.241MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 6K, 6% free 57749K/61292K, paused 17ms, total 17ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 57.569MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed <1K, 6% free 58091K/61636K, paused 18ms, total 18ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 57.902MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed <1K, 6% free 58433K/61980K, paused 17ms, total 17ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 58.236MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed <1K, 6% free 58774K/62324K, paused 26ms, total 27ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 58.569MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed <1K, 6% free 59116K/62668K, paused 21ms, total 22ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 58.903MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed <1K, 6% free 59457K/63012K, paused 17ms, total 17ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 59.236MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed <1K, 6% free 59799K/63356K, paused 17ms, total 17ms
I/dalvikvm-heap(18068): Grow heap (frag case) to 59.570MB for 349072-byte allocation
D/dalvikvm(18068): GC_FOR_ALLOC freed 301K, 6% free 60326K/63700K, paused 25ms, total 25ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 168K, 5% free 60826K/63952K, paused 18ms, total 18ms
I/dalvikvm(18068): Jit: resizing JitTable from 4096 to 8192
D/dalvikvm(18068): GC_FOR_ALLOC freed 1166K, 5% free 61664K/64476K, paused 23ms, total 23ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 2061K, 5% free 62858K/65748K, paused 25ms, total 26ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 1867K, 4% free 64650K/67260K, paused 24ms, total 28ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 5784K, 9% free 63169K/69304K, paused 42ms, total 42ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 115K, 5% free 66326K/69304K, paused 22ms, total 24ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 6127K, 10% free 65352K/71840K, paused 53ms, total 53ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 257K, 5% free 68326K/71840K, paused 23ms, total 23ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 6537K, 10% free 67693K/74588K, paused 43ms, total 43ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 114K, 6% free 70847K/74588K, paused 22ms, total 22ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 1977K, 4% free 74341K/77420K, paused 38ms, total 38ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 2684K, 4% free 79560K/82616K, paused 48ms, total 48ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 5961K, 8% free 81482K/87804K, paused 57ms, total 62ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 3869K, 8% free 82684K/89868K, paused 50ms, total 50ms
D/dalvikvm(18068): GC_FOR_ALLOC freed 2325K, 5% free 87087K/90900K, paused 31ms, total 31ms

谢谢

这可能是Android堆实现中的问题:

http://androidxref.com/4.4.4_r1/xref/dalvik/vm/alloc/Heap.cpp

请参阅tryMalloc中的注释:

如果有人连续分配一堆大对象,将会流失很多,我们每次都碰到脆弱的情况。 每个都有完整的GC。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM