前言:系统端实现看门狗功能
文章目录
需求
各种行业定制软件,需要看门狗功能,按照系统端看门狗机制,不断喂狗,如果一段时间内发现没有喂狗了则根据喂狗类型进行对应的重启应用、服务 等相关机制的处理。
具体需求如下:
- 以看门狗形式,喂狗机制,一分钟之内如果未收到投喂信息,则 根据喂狗类型系统重新拉起程序、执行某个程序某个业务
- 能够实现一个看门狗,监听多个应用
- 能够让看门狗停止其中一个监听,不让监听自己了
- 能够让看门狗停止所有监听
- 获取当前看门狗的监听的程序,可以理解为包名
客户大多数看门狗机制是为了防止app 挂了,保活机制。
实现方案介绍
- 直接用系统看门狗机制实现:但是看门狗太复杂了,监听ANR、crash ,定制监听逻辑比较麻烦,不推荐。
- 在一个服务里面或者自己写一个服务:循环检测+判断当前进程是否存在,来处理某个app 的业务逻辑
- 在一个服务里面或者自己写一个服务:循环检测,不断监听用户是否投喂,利用缓存时间来判断app 是否正常工作。如果在一个周期内发现监听的程序不投喂了,那么就启动业务逻辑对app 进行业务处理。
一、修改文件
/frameworks/base

订阅专栏 解锁全文
3297

被折叠的 条评论
为什么被折叠?



