发布网友 发布时间:2022-05-10 20:55
共1个回答
热心网友 时间:2023-10-30 23:51
anr监测需要开启。anr指程序未响应,这时系统会向用户弹出一个提示框,让用户选择继续等待或确定关闭应用,当应用不能够灵敏地响应用户的操作时anr就会出现。这样就能在系统死机的时候关闭程序避免一直处于死机状态。
应用anr的检测方案:
1、BlockCanary
BlockCanary是国内开发者markzhai开发的一款非侵入式的轻量性能监控组件,在Github上有接近4000 star。原理巧妙地利用了Android原生Looper.loop中的一个log打印逻辑。
2、ANR-WatchDog
ANR-WatchDog是参考Android WatchDog机制起个单独线程向主线程发送一个变量+1操作,自我休眠自定义ANR的阈值,休眠过后判断变量是否+1完成,如果未完成则告警。
3、SafeLooper
SafeLooper是个比较新奇的思路,本身就是一个堵塞的消息,在自己内部进行消息的处理,通过反射接管主线程Looper的功能。
以上内容参考:百度百科-ANR