Android程序异常分析

 我来答
完满且闲雅灬抹香鲸P
2022-07-17 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:70.6万
展开全部
Android程序崩溃大家都应该遇到过,force close和ANR应该是大家遇到较多的。
这里把Android平台程序崩溃的各种类型做一个简述和原因列举。
1.ANR(可见ANR):
发生场景:应用发生ANR。
崩溃症状:系统弹出窗口询问用户选择“Force Close”或者“Wait”。
“Force Close”将杀掉发生ANR的应用进程。“Wait”将会等待系统择机恢复此应用进程。
发生原因:(1)应用主线程卡住,对其他请求响应超时。(2)死锁。(3)系统反应迟钝。(4)CPU负载过重。

2.Force Close:
发生场景:应用进程崩溃。
崩溃症状:系统弹出窗口提示用户某进程崩溃。
发生原因:空指针异常等未捕捉的异常。
但是现在MIUI等系统下,系统会帮你捕获异常,但是应用程序已经挂了,导致这种情况转变为ANR。

3.Tombstones:
发生场景:Native层崩溃
崩溃症状:如果发生崩溃的native层和UI有关联(比如Browser),我们可以在UI上发现这个崩溃。
如果发生崩溃的native层是在后台并且和UI没有直接联系,那么对于用户来说是不可见的,如果是debug版本可能会有Log打印出当时的底层现场。
发生原因:各种各样,需要具体情况具体分析。

4.系统服务崩溃(System Server Crash):
发生场景:系统服务是Android核心进程,此服务进程发生崩溃。
崩溃症状:手机重启到Android启动界面
发生原因:(1)系统服务看门狗发现异常。(2)系统服务发生未捕获异常。(3)OOM。(4)系统服务Native发生Tombstone。

5.Kernel Panics:
发生场景:Linux内核发生严重错误
崩溃症状:手机从bootloader开始完全重启
发生原因:(1)Linux内核内存空间发生内存崩溃。(2)内核看门狗发现异常。(3)空指针操作内核。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浙江启扬智能科技有限公司
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式