没有合适的资源?快使用搜索试试~ 我知道了~
android anr分析.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 153 浏览量
2022-07-04
20:06:20
上传
评论
收藏 37KB DOCX 举报
温馨提示
试读
18页
android anr分析
资源推荐
资源详情
资源评论
)什么引发了 ?
在 里,应用程序的响应性是由 和
系统服务监视的。当它监测到以下情况中的一个时,
就会针对特定的应用程序显示 :
在 秒内没有响应输入的事件(例如,按键按下,屏幕触摸)
在 秒内没有执行完毕
一个 对话框显示给用户
)如何避免 ?
考虑上面的 定义,让我们来研究一下为什么它会在 应用程序里
发生和如何最佳构建应用程序来避免 。
应用程序通常是运行在一个单独的线程(例如,)里。这意味着
你的应用程序所做的事情如果在主线程里占用了太长的时间的话,就会引发
对话框,因为你的应用程序并没有给自己机会来处理输入事件或者
广播。
因此,运行在主线程里的任何方法都尽可能少做事情。特别是, 应该
在它的关键生命周期方法(如 和 )里尽可能少的去
做创建操作。潜在的耗时操作,例如网络或数据库操作,或者高耗时的计算如
改变位图尺寸,应该在子线程里(或者以数据 库操作为例,通过异步请求的方
式)来完成。然而,不是说你的主线程阻塞在那里等待子线程的完成——也不
是调用 !"或是 !"#$。替代的方法是,主线程应该为子
线程提供一个 %#,以便完成时能够提交给主线程。以这种方式设计你的
应用程序,将 能保证你的主线程保持对输入的响应性并能避免由于 秒输入事
件的超时引发的 对话框。这种做法应该在其它显示 & 的线程里效仿,因
为它们都受相同的超 时影响。
执行时间的特殊限制意味着它应该做:在后台里做小的、琐碎
的工作如保存设定或者注册一个 '。和在主线 程里调用的其它方法
一样,应用程序应该避免在 里做耗时的操作或计算。但
不再是在子线程里做这些任务(因为 的生命周期短),
替代的是,如果响应 广播需要执行一个耗时的动作的话,应用程序应该
启动一个 (。顺便提及一句,你也应该避免在 里启动
一个 ,因为它会创建一个新的画面,并从当前用户正在运 行的程序上
抢夺焦点。如果你的应用程序在响应 广播时需要向用户展示什么,你应
该使用 ' 来实现。
))增强响应灵敏性
一般来说,在应用程序里, 到 是用户能感知阻滞的时间阈值。因
此,这里有一些额外的技巧来避免 ,并有助于让你的应用程序看起来有响
应性。
如果你的应用程序为响应用户输入正在后台工作的话,可以显示工作的进度
(* 和 *+# 对这种情况来说很有用)。
特别是游戏,在子线程里做移动的计算。
如果你的应用程序有一个耗时的初始化过程的话,考虑可以显示一个
($#!( 或者快速显示主画面并异步来填充这些信息。在这两种情况下,
你都应该显示正在进行的进度,以免用户认为应用程序被冻结了。
,-,)./),$,""##
""#
01234544644444("6
01提示输出 $ 信息
,3+$! 7
*&,
0123454464444*("6
01输出 $ 当前状态
01/$/#显示 $ 负荷
018分钟平均负载 /8分钟平均负载 /8分钟平均负载
9,:")./:"/)"-.
01$ 状态的时间段
*&2-;..,
<01/$/ 读取 $ 的使用情况
<01!$,//#=""///$
<01
<013#
<01
<01>81
<012>81
<01
< !522#!$!!!!
>#$23"<
<016
剩余17页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic
- 蓝桥杯2024年第十五届省赛真题-前缀总分
- com.qihoo.appstore_300101305-1.apk
- tensorflow-gpu-2.7.1-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.1-cp39-cp39-manylinux2010-x86-64.whl
- 蓝桥杯2024年第十五届省赛真题-传送阵
- com.qihoo.appstore_300101305.apk
- linux之线程同步一.doc
- keil5配色方案10种
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功