GC_FOR_MALLOC means that the GC was triggered because there wasn't enough memory left on the heap to perform an allocation. Might be triggered when new objects are being created.
在堆的内存不足以为一个新的对象分配空间时触发垃圾回收器以回收内存。
GC_EXPLICIT means that the garbage collector has been explicitly asked to collect, instead of being triggered by high water marks in the heap. Happens all over the place, but most likely when a thread is being killed or when a binder communication is taken down.
明确指定垃圾回收器进行内存回收时触发,可以在全局调用,不过通常情况下是在一个线程被杀死或者一个通信通道被关闭时使用。
There are a few others as well:
GC_CONCURRENT Triggered when the heap has reached a certain amount of objects to collect.
当堆中的对象达到一定数量时,触发回收。
GC_EXTERNAL_ALLOC means that the the VM is trying to reduce the amount of memory used for collectable objects, to make room for more non-collectable.
虚拟机尝试减少可回收对象所占用的内存,从未为不可回收对象提供更多空间
本文详细介绍了几种常见的垃圾回收(GC)触发机制,包括因堆内存不足而触发的GC_FOR_MALLOC、明确请求执行的GC_EXPLICIT、并发触发的GC_CONCURRENT以及为了给不可回收对象腾出空间的GC_EXTERNAL_ALLOC。
581

被折叠的 条评论
为什么被折叠?



