Watchdog概述
源码路径:
/frameworks/base/services/core/java/com/android/server/Watchdog.java
Watchdog的作用
Watchdog(看门狗)是一种硬件或软件机制,用于监视计算机系统或其他电子设备的运行状态。其作用是在系统崩溃、死锁或其他异常情况下,及时重启或恢复系统的正常运行。
Android系统中,有硬件 WatchDog 用于定时检测关键硬件是否正常工作,类似地,在Framework层也有一个WatchDog线程用于定期检测关键系统服务是否发生死锁事件。WatchDog功能主要是分析系统核心服务和重要线程是否处于Blocked状态。
Watchdog线程
在Android 12之前,Watchdog是直接继承自Thread类的。
public class Watchdog extends Thread {…}
在Android 12中,Watchdog类中添加了一个Thread成员,并传入run()。
private final Thread mThread;
private Watchdog() {
mThread = new Thread(this::run, "watchdog");
//…
}