Android Crash类型
程序员开发android应用程序时追逐的最终目标是要尽量避免程序Crash的发生。但是现实的情况是,在进行轮番测试和验证的时候,Android应用程序几乎不可能完全杜绝Crash的发生。Crash的类型主要有以下几种:
(1) Java Application Crash:不完善的Java应用程序很容易导致Crash的发生 如:某个应用程序由于源代码不完善,会做一些它本不应该做的操作而导致Crash的发生。 另外,Java虚拟机自身的Bug、系统的库文件、Api、第三方的库文件、系统资源的短缺都有可能造成Java Crash的发生。
(2) System Crash:当程序试图访问不被允许访问的内存区域、指针越界、错误的访问类型、访问不存在的内存、访问不属于进程地址空间的内存、栈溢出、函数非法跳转、非法的系统调用、数据中断等操作容易引起System Crash。
(3) Modem Crash:当手机出现无信号、死机、网络中断等现象,通常会出现Modem Crash。
(4) Kernel Crash:由于手机应用软件出现错误而导致系统崩溃的时候,会提示Kernel Crash的信息,并且错误发生时kernel的存储图像会保存起来,当系统重新启动后,会恢复kernel的存储图像,然后根据现象判断是哪类错误发生。
3.1.1 Java Anr Crash
手机应用程序在预先设定的时间内不响应或响应不够灵敏,系统会向用户显示一个对话框,这个对话框被称作anr(Application No Response) Crash。这一般都是由于应用程序错误导致的,测试人员可以在Logcat文件中定位是哪个进程导致anr的发生,为什么会发生anr,发生anr之前的历史日志,事件响应间隔中Cpu的使用状态等。
当出现Anr Crash后,测试人员可以在Log文件里查找关键字:Anr,定位到的相应的关键信息,然后根据定位的具体信息再进行分析。下述示例说明了造成了anr Crash的三种情况:
......
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
22/2<12