Android之ANR异常及解决方法
ANR (Application Not Responding)
ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。
默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间则是10秒。
第一:什么会引发ANR?
在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的 。当它监测到以下情况中的一个时,Android就会针对特定的应用程序显示ANR:
1.在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)
2.BroadcastReceiver在10秒内没有执行完毕
造成以上两点的原因有很多,比如在主线程中做了非常耗时的操作,比如说是下载,io异常等。
潜在的耗时操作,例如网络或数据库操作,或者高耗时的计算如改变位图尺寸,应该在子线程里(或者以数据库操作为例,通过异步请求的方式)来完成。然而,不是说你的主线程阻塞在那里等待子线程的完成——也不是调用 Thread.wait()或是Thread.sleep()。替代的方
Android之ANR异常及解决方法相关推荐
- Android ExceptionThrowable 常见异常和解决方法 奔溃日志上报 monkey异常修改
java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception. 注意:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理. ...
- Android ANR异常及解决方法
2019独角兽企业重金招聘Python工程师标准>>> 今天面试遇到这道题,刚开始没看出这个anr缩写的意思,后来问了面试官原来是这个意思: ANRs ("Applicat ...
- 关于android Window Leaked异常的解决方法
这两天在写项目的时候,调用了AertDialog 来作为提示框,但是,总是出现window 窗口泄漏的异常,后来,重新去看了一下源代码,再去查了一下资料,终于解决了这个问题. 我们知道Android的 ...
- Android Eclipseproject开发中的常见调试问题(二)android.os.NetworkOnMainThreadException 异常的解决的方法...
android.os.NetworkOnMainThreadException 异常的解决的方法. 刚开是把HttpURLConnectionnection 打开连接这种方法放在UI线程里了,可能不是 ...
- Android webview 写入cookie的解决方法以及一些属性设置
Android webview 写入cookie的解决方法以及一些属性设置 参考文章: (1)Android webview 写入cookie的解决方法以及一些属性设置 (2)https://www. ...
- Android Studio androidx 包冲突解决方法
Android Studio androidx 包冲突解决方法 参考文章: (1)Android Studio androidx 包冲突解决方法 (2)https://www.cnblogs.com/ ...
- Android SDK下载失败的解决方法
Android SDK下载失败的解决方法 图1 在下载过程中,Android SDK Manager Log中出现下面出错信息: Preparing toinstall archives Downlo ...
- 线程访问 DevExpress控件异常时 解决方法
线程访问 DevExpress控件异常时 解决方法 Control.CheckForIllegalCrossThreadCalls = false; DevExpress.Data.CurrencyD ...
- The import android cannot be resolved”错误解决方法
导入工程的"The import android cannot be resolved"错误解决方法 2012-03-02 | 阅: 转: | 分享 通过eclipse的im ...
最新文章
- notepad php格式,notepad怎么格式xml
- Redis--keys的通用操作
- 异常处理 Exception
- 美团回应遭反垄断调查;腾讯因《地下城与勇士》被抄袭获赔3000万;iOS 14.5 正式版发布|极客头条...
- 用Python能下载抖音无水印视频?免费教程来了!
- 联想Lenovo手机平板安装谷歌服务框架Google, Play商店,安装套件GMS
- 炒菜什么时候放盐最健康?
- 初识c语言day07(五子棋)
- 感应开关垃圾桶小项目的完成及问题解决——基于STC89C52RC单片机
- 忽尔今夏,SpringSide 3.0
- sed搜索某行在行末追加_sed在行首或者行尾添加内容
- JQuery之Ajax方法
- 关于大学计算机相关专业学习路线的见解与分析
- 软件浪涌测试原理与功能,雷击浪涌测试仪工作原理及优势
- linux shell正则表达式如何匹配域名(包含中文域名)
- 生成keytab脚本
- 工程、科学、技术的相互关系
- 客户案例|保险行业借助智能外呼充分结合业务需求和实际应用场景快速筛选客户
- turtle中如何获取当前鼠标当前位置、寻找坐标方法
- 【优化求解】基于鸟群算法(Bird Swarm Algorithm)求解单目标最优matlab代码
热门文章
- 回顾 | 在 GitHub 上贡献到开源项目
- 2020,你收获了什么?又失去了什么?
- 如何在 C# 中使用 AutoMapper
- AA.Dapper升级了
- 如何给Blazor.Server加个API鉴权?
- 在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度
- 以Blog.Core的方式来打开Abp.vNext
- 2019 .NET China Conf之我逛魔都
- 基于Dapper的开源Lambda扩展,且支持分库分表自动生成实体
- github开源项目免费使用Azure PipeLine