什么是ANR? 如何避免它?
来源:互联网 发布:空耳yaya的淘宝店 编辑:程序博客网 时间:2024/06/05 11:28
这是一道面试题
- 什么是ANR?
- 用户行为
- Android不同组件ANR的超时时间不同
- 解决方案
一、什么是ANR?
ANR,全称为Application Not Responding。在Android 中,如果你的应用程序有一段时间没有响应,系统会向用户显示一个对话框,这个对话框称作应用程序无响应对话框。
二、用户行为
用户可以选择让程序继续运行,也可以让程序停止运行。他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR 给用户。
三、Android不同组件ANR超时时间不同
不同的组件发生ANR 的时间不一样,主线程(Activity、Service)是5 秒,BroadCastReceiver 是10 秒。
四、解决方案
1、将所有耗时操作,比如访问网络,Socket 通信,查询大量SQL 语句,复杂逻辑计算等都放在子线程中去,然后通过handler.sendMessage、runonUITread、AsyncTask 等方式更新UI,以确保用户界面操作的流畅度。
2、如果耗时操作需要让用户等待,那么可以在界面上显示进度条。
0 0
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它
- 什么是ANR 如何避免它
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它
- 什么是ANR 如何避免它?
- 什么是ANR 如何避免它?
- 什么是 ANR 如何避免它?
- 什么是ANR 如何避免它
- 什么是ANR? 如何避免它?
- Android—什么是ANR 如何避免它?
- 什么是ANR,如何避免ANR
- 什么是ANR?如何避免ANR?
- 树的三种遍历算法
- 1128. N Queens Puzzle (20)
- Vim简明教程【CoolShell】
- 第39级台阶
- Android Studio的缺点
- 什么是ANR? 如何避免它?
- 解决因HTTPS 证书出错访问不了网页的问题(GitHub为例)
- java源码告诉你哪年二月有几天
- android监听TF卡插拔事件 判断
- 不高效的,通用的java处理思想
- centos6.5安装图像化界面
- Android Studio 快捷键使用总结
- Ajax进行POST提交,Spring MVC整合fastJson
- 欢迎使用CSDN-markdown编辑器