Android应用启动时,默认会创建一个进程,该进程中最少包含5个系统自动创建的线程,具体如下:
-
Main线程(主线程/UI线程)
负责处理用户交互、UI更新等核心操作,所有与界面相关的逻辑必须在此线程执行。若在此线程执行耗时操作(如网络请求),会导致界面卡顿甚至触发ANR(应用无响应)。 -
FinalizerDaemon线程(终结者守护线程)
当对象重写了finalize()
方法时,该线程负责将这些对象放入队列并调用其finalize()
方法,完成资源释放后再由GC回收。 -
FinalizerWatchdogDaemon线程(终结者监控线程)
监控FinalizerDaemon
的执行效率。如果finalize()
方法执行超时(默认10秒),此线程会触发虚拟机退出以防止应用长时间阻塞。 -
HeapTaskDaemon线程(堆栈守护线程)
管理堆内存的释放,将空闲的内存归还给系统,优