怎么检查线程有耗时任务
耗时任务:
-
正常的,轻微阻塞
-
不正常的,严重阻塞
检测线程是否发生耗时任务的方案:
-
系统服务通过 Watchdog 实现
-
应用进程可以通过 BlockCanery 实现
WatchDog 的原理
WatchDog是干什么的?
-
检查是否发生了死锁
-
检查线程是否被任务blocked
Watchdog
是一个单例线程(基于10.0源码),能检查所有的线程
// frameworks/base/services/core/java/com/android/server/Watchdog.java
public class Watchdog extends Thread {static Watchdog sWatchdog;<