垃圾回收線程記錄一下
一.應(yīng)用所有線程
隨便看一個進程的所有線程,哪一線程是垃圾回收線程呢?下面圈出來的是
線程
二.垃圾回收線程線程啟動流程
在zygote中啟動。
/libcore/dalvik/src/main/java/dalvik/system/ZygoteHooks.java
public void postForkCommon() {
Daemons.startPostZygoteFork();
}
啟動了四個守護線程
/libcore/libart/src/main/java/java/lang/Daemons.java
public static void startPostZygoteFork() {
ReferenceQueueDaemon.INSTANCE.startPostZygoteFork();
FinalizerDaemon.INSTANCE.startPostZygoteFork();
FinalizerWatchdogDaemon.INSTANCE.startPostZygoteFork();
HeapTaskDaemon.INSTANCE.startPostZygoteFork();
}
三.垃圾回收流程圖
最后由TaskProcessor(線程)來處理
task