1.Watchdog简介
Android的SystemServer是一个非常复杂的进程,里面运行了70种左右的服务,是最有可能出现问题的进程。因此,有必要设计一种机制,去监控SystemServer中的服务的运行状态。Android开发了Watchdog类作为软件看门狗来监控SystemServer进程。
Watchdog一旦监控到服务或者进程发生了问题,便会杀死SystemServer进程,Zygote作为SystemServer的父进程,收到其死亡消息后,会杀死自己。Zygote死亡的消息传递到init进程后,init进程会杀死Zygote的所有子进程并重启Zygote.
2. 代码分析
public int getCompletionStateLocked() {
if (mCompleted) {
return COMPLETED;
} else {
long latency = SystemClock.uptimeMillis() - mStartTime;
if (latency < mWaitMax/2) {
return WAITING;
} else if (latency < mWaitMax) {
return WAITED_HALF;
}
}
return OVERDUE;
}
3. 总结
这是一个博客的开始,继续保持!
7/2/2016 3:40:44 PM