Android——ANR
文章目录
- 概述
- 场景
- 如何避免
概述
ANR(Application Not Responding)是指应用无响应。
Android系统对于一些事件都在在一定时间内完成,如果超过预订时间没有得到相应就会在成ANR。
ANR机制是对应用程序主线程的限制,要求主线程在限定的时间内处理完一些最常见的操作(启动服务、处理广播、处理输入), 如果处理超时,则认为主线程已经失去了响应其他操作的能力。
场景
导致ANR的场景主要有以下:
- Service Timeout(20 seconds) —— Service在特定的时间内无法处理完成
- Broadcast Timeout(10 seconds) ——BroadcastReceiver在特定时间内无法处理完成
- ContentProvider Timeout——内容提供者执行超时
- KeyDispatch Timeout(5 seconds) ——主要类型按键或触摸事件在特定时间内无响应
如何避免
将所有耗时操作,比如访问网络,Socket 通信,查询大量SQL 语句,复杂逻辑计算等都放在子线程中去,然后通过handler.sendMessage、runonUITread、AsyncTask 等方式更新UI,以确保用户界面操作的流畅度。
UI线程尽量只做跟UI相关的工作。
用Handler来处理UIThread和别的Thread之间的交互。
Android——ANR相关推荐
- 转 android anr 分析示例,[摘]Android ANR日志分析指南之实例解析
前文<[摘]Android ANR日志分析指南>也摘抄了如何分析,接下来通过实例解析. 一.主线程被其他线程lock,导致死锁 waiting on <0x1cd570> (a ...
- Android ANR
ANRs ("Application Not Responding"),意思是"应用没有响应". 1)什么引发了ANR? 在Android里,应用程序的响应性是 ...
- Android 系统(135)---Android anr 分析步骤总结
Android anr 分析步骤总结 前言:最近经手了比较多的anr问题,声明经手不是解决,只是从log上推断造成anr的原因,以此作为根据转交给对应的人来处理. 1. ANR简介 ANR全名Appl ...
- android anr 产生的类型及原因
android anr 产生的条件 android 系统中anr的本质是主线程无法响应.而导致主线程无法响应的原因大致如下: 主线程请求网络资源,数据库访问或者io访问,这些操作都是耗时操作,主线程处 ...
- Android ANR是什么?
Android ANR 前言 一.ANR产生的原因 二.如何尽量避免ANR? 前言 ANR:Application Not Responding,应用程序无响应 一.ANR产生的原因 Android系 ...
- Android anr介绍
1)什么引发了ANR? 在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的.当它监测到以下情况中的一个时,Android就会针对特定的应 ...
- Android ANR是什么
很多初入Android 开发的网友可能发现ANR的字样,到底Android ANR是什么呢? 其实ANR就是Application Not Responding的全称,当某个应用处于长期假死状态时An ...
- Android ANR 搜集
Android ANR排查 应用层一般如下情况下需要查看log 1) 程序异常退出 , uncaused exception 2) 程序强制关闭 ,Force Closed (简称FC) 3) 程序无 ...
- Android ANR问题总结(非原创)
<title>Android ANR问题总结(非原创) - Vane的博客 | Vane's Blog</title><!-- Web App Manifest --&g ...
- 看完这篇 Android ANR 分析,就可以和面试官装逼了!
点击上方"何俊林",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 本文转载自公号玉刚说,原创作者htkeepmoving,原文链接:https://www.jianshu ...
最新文章
- TensorRT深度学习训练和部署图示
- Celery--分布式任务队列
- 系统测试:单元测试相关知识笔记
- 【POJ - 2942】Knights of the Round Table(点双连通分量,二分图判断奇环奇圈)
- 组合体视图的画图步骤_(完整版)组合体视图画法教案
- C++【EasyX】俄罗斯方块
- SQL与Excel数据交互
- paip.提升效率---质量控制--代码风格模板化
- 【教程分享】2018最新pHp视频教程
- 两台电脑服务器文件同步,多台电脑怎么实现数据同步
- Python-实现(整蛊)消息批量发送
- mmsegmentation 训练自制数据集
- [文档和源码分享]C++实现的基于α-β剪枝算法的井字棋游戏
- 4k超清壁纸APP抓包获取所有壁纸下载地址
- [work] 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
- 钛媒体乌镇咖荟 | 数字化改变以流量为核心的平台生态,系统性思维的价值开始显现...
- Qt Excel操作
- 一款由React Native编写的开源App--Gank
- 塔菲尔曲线斜率的大小_电催化中Tafel斜率与决速步
- 极验验证简介(待续)
热门文章
- 集美大学-浙大版《C语言程序设计实验与习题指导(第3版)》
- Inno SetUp中文繁体语言包和在脚本中使用
- A Large Chinese Text Dataset in the Wild | OCR数据集 | 正确下载方式
- OpenShift Origin 基本命令
- base64编码用在HTML(支持IE6、IE7、IE8)
- LearnOpenGL笔记——六、PBR:理论
- 求职经验总结与分享——写给联创工作室和信工的同学们
- 关系型数据库管理系统MySQL_关系型数据库存储管理
- http://www.rcgroups.com/forums/showpost.php?p=12678689postcount=29
- 2019暑假纪中欢乐游