文档章节

ANR(应用程序无响应Applicatio Not Responding)

 梦想家Peng
发布于 2016/03/03 10:30
字数 234
阅读 23
收藏 0
点赞 1
评论 0

ANR(应用程序无响应Applicatio Not Responding)
-----------------------------------
主线程的执行时间过长,就会导致ANR。
理论上Activity的执行时长超过5s,或BroadcastReceiver的执行时间超过10s,即会导致ANR。


Android UI线程模型
-----------------------------------
UI:User Interface
UI线程:在Android中,主线程的任务是加载布局、初始化控件、配置控件的各项属性及监听器、响应事件,这些任务都是与UI控件相关的,所以,Android中的主线程也称之为UI线程。
主线程的使用原则是:只处理和UI相关的业务,完成必要的初始化,其它任务尽量通过子线程来完成,避免导致ANR。
为了保证主线程的UI控件正确更新、显示等,在Android中不允许子线程更新UI控件(严格的说:只允许创建UI的线程更新UI)。



© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 34
码字总数 15605
作品 0
深圳
android ANR异常及其解决方式

ANR定义 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序...

长平狐
2012/09/03
360
0
Android中什么是ANR,如何应对或者如何避免它

可能会存在这样的情况,你写的代码通过了世界上所有的性能测试,但当用户尝试使用你的应用程序时,仍然让用户感到不爽。应用程序响应不够灵敏的地方包括——反映迟钝,挂起或冻结很长时间,或...

假装是大神
2012/03/25
0
0
android多线程handler+runOnUithread+view.post+handler.post

listview 可以暂时告一段落了。。。 下面说说android的多线程机制,讲到多线程,就可以说道android有名的ANR(Application Not Responding)既应用程序未响应,触发ANR的条件大致有两个:1、在...

yzh47200899
2013/08/13
0
0
Android ANR异常及解决方法

今天面试遇到这道题,刚开始没看出这个anr缩写的意思,后来问了面试官原来是这个意思: ANRs (“Application Not Responding”),意思是”应用没有响应“。 在如下情况下,Android会报出ANR...

恰同学少年
2015/08/05
0
0
ANR异常产生的原因及其解决办法

ANRs (“Application Not Responding”),意思是”应用没有响应“。 在如下情况下,Android会报出ANR错误: – 主线程 (“事件处理线程” / “UI线程”) 在5秒内没有响应输入事件 – Broadc...

byronhs
2015/09/30
300
0
Android ANR介绍与避免

今天面试遇到一个问题(什么是arn,怎么避免?),当时就傻了。回到家,在网上找到答案,在这里做个记录。 Android开发的网友可能发现ANR的字样,到底Android ANR是什么呢? 其实ANR就是Appli...

gavin_jin
2012/02/21
0
0
Android线程——Mars Android开发视频之第二季第五集(重)

1.回顾JAVA中的线程 线程的两种实现方式 1 继承Thread类 2 实现Runnable接口 两者区别: 前者代表一个线程 后者代表线程体,也就是线程要执行的代码。 多线程同步 多个线程同时访问一个资源,...

周田
2015/08/23
0
0
笔记37 | Android App优化之ANR详解

地址 笔记37 | Android App优化之ANR详解 什么是ADR ANR全名Application Not Responding, 也就是"应用无响应". 当操作在一段时间内系统无法处理时, 系统层面会弹出上图那样的ANR对话框. 在A...

项勇
2017/11/20
0
0
Android 游戏开发之多线程的操作方式

如果程序主线程被阻塞超过5秒,系统会提示“应用程序无响应” 这就是ANR 。 ANR的全称是Application Not Responding,使用多线程可以避免ANR。但是这里要注意一下不要为了避免ANR而过多的使用...

无鸯
2011/10/01
1K
2
Android游戏开发之多线程的操作方式(二十六)

Android游戏开发之多线程的操作方式 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6706952 游戏开发与软件开发多线程...

彭博
2012/03/09
51
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell及python脚本方式登录服务器

一、问题 在工作过程中,经常会遇见需要登录服务器,并且因为安全的原因,需要使用交互的方式登录,而且shell、python在工作中也经常用到,并且可以提供交互的功能。都是利用了expect、spawn...

yangjianzhou
9分钟前
0
0
upstream sent too big header while reading...

nginx 报错:1736 upstream sent too big header while reading response header from upstream 1. 一般处理 location ~ \.php$ { #增加下面两句 fastcgi_buffer_size 128k; ......

dubox
20分钟前
0
0
Python解析配置文件模块:ConfigPhaser

import configparser as pa# [SectionA]# a = aa# b = bb# c = cc# [SectionB]# optionint = 1# optionfloat = 1.1# optionstring = string#https://www.cnblogs.com/a......

易野
27分钟前
0
0
Java基础——面向对象

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Object的方法: clone() Object 克隆 to Strin...

凯哥学堂
29分钟前
0
0
rabbitmq学习记录(八)消息发布确认机制

RabbitMQ服务器崩了导致的消息数据丢失,已经持久化的消息数据我们可以通过消息持久化来预防。但是,如果消息从生产者发送到vhosts过程中出现了问题,持久化消息数据的方案就无效了。 Rabbit...

人觉非常君
33分钟前
0
0
毕业5年,我是怎么成为年薪30W的运维工程师

#转载# 我在大学读的是计算机专业,但大学毕业之后,进入到一家私企进行工作,工作的内容类似于网管,会经常的去修电脑,去做水晶头等内容。刚开始工作,也没想太多,最想的是丰富自己的工作...

Py爱好
40分钟前
1
0
大数据基础知识,大数据学习,涉及的知识点

一、什么是大数据 一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流 转、多样的数据类型和价值密度低四大特征。...

董黎明
55分钟前
0
0
Linux CentOS 7上安装极点五笔

话说几天前在新买的惠普笔记本上成功地安装了Linux CentOS 7操作系统、Nvidia Quandro P600驱动程序及X Window,并在VMware下安装Red Hat教学环境,彻底跳出Windows的苦海,但仍然有一件事不...

大别阿郎
今天
17
0
2018年7月20日集群课程

一、集群介绍 集群,简单地说是指一组(若干个)相互独立的计算机,利用高速通信网络组成一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。 ...

人在艹木中
今天
0
0
spark开发机中调试snappy

目的 在Idea中的点击运行,使spark可以直接读取snappy 自己编译hadoop,以支持snappy的压缩。 自己编译的目的就是要得到支持snappy文件读写的动态链接库。如果可以在网上下载,可以跳过自行编...

benny周
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部