您的位置:笔笔发 SOHO人家 嵌入式操作系统领域 正文
内容搜索
笔笔发:技术产业信息平台----成就有识之士创业梦想的殿堂
热门内容
推荐内容
【凌阳教育学堂】Android开发中ANR与Monkey测试工具


来源: 凌阳教育嵌入式培训

  凌阳教育是全国唯一 “学员就业双100%品牌”,保证“学员100%就业”,保证“学员100%满意就业”。凌阳教育也是全国唯一“按班公布学员就业去向诚信机构”,每个班 所有学员来自哪个学校就业后签约哪家企业都真实发布。截止2011年9月,凌阳教育学员已连续27期“双100%就业”。凌阳教育是全国唯一“原厂嵌入式 培训机构”,以凌阳科技产业链企业的人才需求为契机,先后与2500多家企业建立学员就业合作关系。

  一、ANR有关
ANR=Application Not Responding
在Android上,如果你的应用程序有一段时间响应不够灵敏(5秒内没有输入响应事件),系统会向用户显示一个对话框,这个对话框称作应用程序无响 应(ANR:Application Not Responding)对话框。Handlermessage或者BroadcastReceiver处理过程时间超过十秒也会引起。
避免方法:运行在主线程里的任何方法都尽可能少做事情。特别是,Activity应该在它的关键生命周期方法(如onCreate()和 onResume())里尽可能少的去做创建操作。潜在的耗时操作,例如网络或数据库操作,或者高耗时的计算如改变位图尺寸,应该在子线程里(或者以数据 库操作为例,通过异步请求的方式)来完成。主线程应该为子线程提供一个Handler,以便完成时能够提交给主线程。以这种方式设计你的应用程序,将能保 证你的主线程保持对输入的响应性并能避免由于5秒输入事件的超时引发的ANR对话框。
IntentReceiver执行时间的特殊限制意味着它应该做:在后台里做小的、琐碎的工作如保存设定或者注册一个Notification。和在 主线程里调用的其它方法一样,应用程序应该避免在BroadcastReceiver里做耗时的操作或计算。替代的是,如果响应Intent广播需要执行 一个耗时的动作的话,应用程序应该启动一个Service。顺便提及一句,你也应该避免在Intent Receiver里启动一个Activity,因为它会创建一个新的画面,并从当前用户正在运行的程序上抢夺焦点。如果你的应用程序在响应Intent广 播时需要向用户展示什么,你应该使用Notification Manager来实现。
一般来说,在应用程序里,100到200ms是用户能感知阻滞的时间阈值。
如果你的应用程序为响应用户输入正在后台工作的话,可以显示工作的进度(ProgressBar和ProgressDialog对这种情况来说很有用)。
特别是游戏,在子线程里做移动的计算。
如果你的应用程序有一个耗时的初始化过程的话,考虑可以显示一个Splash Screen或者快速显示主画面并异步来填充这些信息。在这两种情况下,你都应该显示正在进行的进度,以免用户认为应用程序被冻结了。

  二、自动化测试工具Monkey
1、什么是Monkey
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

  2、 Monkey的特征
A、测试的对象仅为应用程序包,有一定的局限性。
B、 Monky测试使用的事件流数据流是随机的,不能进行自定义。
C、可对MonkeyTest的对象,事件数量,类型,频率等进行设置。

  3、Monkey的基本用法
$ adb shell monkey –p(包) your.package.name –v(频率) 500

  4、Monkey测试的停止条件
Monkey Test执行过程中在下列三种情况下会自动停止:
A、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
B、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
C、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

  凌阳教育“学员就业 双100%”的诚信获得了社会的广泛认可,2008年、2009年、2010年,凌阳教育连续三年荣膺新浪“中国十大品牌IT教育机构”、新浪“最具就业 竞争力IT教育机构”、搜狐“中国十大品牌IT培训机构”、网易“中国十大IT教育品牌”荣誉称号。凌阳教育是嵌入式培训领域,唯一全部获得三大门户网站 “十大IT品牌”表彰的机构。

嵌入式培训

凌阳教育嵌入式培训,值得信赖的嵌入式教育品牌!
http://www.sunplusedu.com/content3556.shtml

 
点这里复制本页地址发送给您QQ/MSN上的好友
相关文章

【凌阳教育学堂】Android开发Info类总结
【凌阳教育学堂】Android开发实现HttpClien
【凌阳教育学堂】Android开发获得多媒体信息
【凌阳教育学堂】Android开发中webService接
【凌阳教育学堂】Android开发返回拍摄的图片
【凌阳教育学堂】Android数据存储SQLite的事
【凌阳教育学堂】Android开发给TextView添加
【凌阳教育学堂】Android中XML文件的三种解
【凌阳教育学堂】Android开发文件的下载
【凌阳教育学堂】Android WebView总结
【凌阳教育学堂】Android开发中进程等级相关
【凌阳教育学堂】Android开发中多线程及异步
【凌阳教育学堂】Android拦截短信并屏蔽Not
【凌阳教育学堂】Android ListPreference的
【凌阳教育学堂】Android开发中使用第三方j
郑州--深圳嵌入式实训 嵌入式方案解决您一站
WINCE系统手持pos机 - PDA打印功能手持终端
学习嵌入式系统开发需要具备哪些条件?

相关评论


本文章所属分类:首页 SOHO人家 嵌入式操作系统领域


反馈意见和建议