用android的MountService来分析Watchdog的注册和监控过程. 代码路径为:
frameworks/base/services/java/com/android/server/MountService.java
此Watchdog为软件Watchdog, 在Android Framework中处理的事情有:
- 接收系统内部的reboot事件然后处理
- 监控SystemServer进程, 防止死锁
Watchdog是在SystemServer进程中启动并初始化的,然后也把自己交给Watchdog监控了.
Watchdog用的是单例模式, 所以整个系统只有一个Watchdog实例.
获取方法为:
Watchdog.getInstance()
下面分析如何把MountServer添加到Watchdog的监控列表
![](https://img-my.csdn.net/uploads/201301/07/1357539827_8391.jpg)
首先MountServer必须implements Watchdog.Monitor 并且实现接口函数 monitor() ,
/** {@inheritDoc} */
public void monitor() {
if (mConnector != null) {
mConnector.monitor();
}
}