Android ANR问题介绍和处理方法
来源:互联网 发布:中信证券交易软件下载 编辑:程序博客网 时间:2024/06/05 07:24
什么是ANR
在Android上,如果您的应用程序有一段时间未响应,系统则会向用户显示一个对话框,这个对话框则成为程序无响应(ANR:Application Not Respoding)。虽然
用户可以选择让程序继续运行下去,但是这极大地影响了用户体验,在开发中需要极力避免这种问题的发生。
ANR的分类
一般分为3种:
1:KeyDispatchTimeout(5 seconds) –主要情况 :按键或触摸事件在特定时间内无响应,常常发生在Activity中。
2:BroadcastTimeout(10 seconds) :BroadcastReceiver在特定时间内无法处理完成。
3:ServiceTimeout(20 seconds) –小概率类型 : Service在特定的时间内无法处理完成,
ANR的解决和避免方法
在Android程序中,ANR是非常普遍存在的,我们在使用一些app时也经常会出现让ANR的情况,那么作为一个开发者,我们该如何避免这个问题呢?
1、主线程中,程序应该尽量少进行程序执行,Activity应该在它的关键生命周期方法(如onCreate()和onResume())里尽可能少的去做创建操作。(可以采用重新开启子线程的方式,然后使用Handler+Message的方式做一些操作,比如更新主线程中的ui等)
2、应用程序应该避免在BroadcastReceiver里做耗时的操作或计算。但不要在子线程里去做这些事情(因为 BroadcastReceiver的生命周期短)。而应该让应用程序应该启动一个 Service。
3、避免在Intent Receiver里启动一个Activity,因为它会创建一个新的画面,并从当前用户正在运行的程序上抢夺焦点。如果你的应用程序在响应Intent广 播时需要向用户展示什么,你应该使用Notification Manager来实现。
- Android ANR问题介绍和处理方法
- android ANR处理方法
- Android Force Close和ANR等异常处理方法
- Android Force Close和ANR等异常处理方法
- Android ANR介绍及分析ANR log信息的方法
- 手机ANR问题处理方法及策略
- ANR的分析和问题处理
- Android anr介绍
- android-ANR异常处理
- Android处理ANR步骤
- Android的ANR处理
- android anr分析方法
- android anr分析方法
- android anr分析方法
- android anr分析方法
- android anr分析方法
- android anr分析方法
- android anr分析方法
- c++ 怎么用cout按指定位数四舍五入
- 类的初始化
- 汇编语言-实现在指定字符串中搜索字符'A'
- MySQL 忘记root密码及MySQL修改root密码的方法
- 姑娘留步,容我劫个色
- Android ANR问题介绍和处理方法
- HDU2222(AC自动机)
- 超级素数幂
- jQuery基础学习DOM对象与jQuery对象
- Wireshark之网络通信原理(三)
- SCU4488 king's trouble II(DP)
- Java跨平台原理
- 3. 效果评估(效果回归)
- Unknown character set: 'utf8mb4'