Android

Android ANR

2018-10-13  本文已影响79人  yuzhiyi_宇

ANR (Application Not Responding) 是 Android 中一个独有的概念。当你在操作 App 时候感觉界面卡顿,卡顿超过一定时间就会出现ARN 对话框。出现 ANR 主要是因为我们在主线程中做了太多耗时操作。这时你可以选择"等待"按钮,等待应用程序结束主线程的耗时操作,或者选择"确定"按钮,结束这个应用程序。

ANR 产生的原因

只有应用程序的 UI 线程响应超时才会引起 ANR,超时产生原因一般有两种。

根据 ANR 产生的原因不同,超时时间也不尽相同,从本质上讲,产生 ANR 的原因有三种,大致可以对应到 Android 中的四大组件的三个(Activity/View,BroadcastReceived 和 Service)。

典型的 ANR 问题场景

降低ANR出现的频率

降低 ANR 出现的频率,尊重一个原则:

不要在主线程做繁重的任务。

上一篇 下一篇

猜你喜欢

热点阅读