阅读五分钟,和您一起终身学习,这里是程序员Android小小七、可以叫我阿七
ANR(Application Not Responding )应用无响应的简称,是为了在APP卡死时,用户 可以强制退出APP的选择,从而避免卡机无响应问题,这是android系统的一种自我保护机制。
通过本篇阅读,您将学习到以下内容
一、ANR 概述
二、ANR的类型
三、ANR 产生的原因
四、如何分析解决 ANR问题
五、ANR 问题分析解决建议
六、MTK 平台 ANR问题分析
**
一、 ANR 概述
**
在Android中,应用程序响应由Activity Manager和Window Manager系统服务进行监视。ANR(Application Not Responding ),则是Android的一种自我保护措施,当主线程出现卡顿时候,Android 系统会给用户一个弹出提示,让用户手动选择继续等待还是强制关闭此APP。
当Android检测到以下情况之一时,Android将显示特定应用程序的ANR对话框,比如以下三种情况下ANR将经常发生:
1.UI Thread超过 5 s没有响应
2.Broadcast广播超过10 s没响应
3.Service 服务超过 20s 没响应
因此,为避免ANR发生,请不要在主线程中进行耗时操作,耗时操作请尽量在子线程中运行。
4.发生ANR截图 如下: