![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ANR
文章平均质量分 94
列举所有Android系统ANR产生的场景,且分析触发流程,针对每一种类型的问题展开分析定位的方式。
码龙1234
从事过嵌入式开发,也做过Linux字符设备驱动,还甚至写过Android应用程序,被逼无奈下还从事过前端ext开发。回首往事,什么都没留下,学过东西太多很杂,以至于连Java asm动态生成类都接触过,目前从事Android系统稳定性工作。所以在此想编辑些博客,将自己的学习心得记录在此,分享给大家,热烈欢迎大家拍砖。
展开
-
Android ANR简介
ANR检测点逻辑都在system_server进程中,假设如果system_server出现hang的场景,ANR逻辑有可能就不会被触发。而且ANR都是针对Android app的机制。因此每种机制中都会依据App当时的状态,如前台还是后台等行为,进行特殊处理。原创 2024-05-28 08:25:49 · 391 阅读 · 1 评论 -
稳定性问题ANR-input
Android app的input事件都是有主线程消费的,假设主线程有耗时函数执行,就会产生ANR问题;但是主线程就不能执行耗时函数吗?答案是能;同理解释了一下主线程中的耗时函数只要不碰到ANR问题的检测诱因,就不会产生ANR;假设一个APP不接受任何广播,不处理任何input事件(如后台程序),并且已经启动就绪之后,这个时候主线程执行耗时操作永远不会产生ANR。同理可知,广播和input事件也是ANR问题的一个检测点。原创 2024-06-01 00:14:53 · 306 阅读 · 0 评论