这里把Android平台程序崩溃的各种类型做一个简述和原因列举。
1.ANR(可见ANR):
发生场景:应用发生ANR。
崩溃症状:系统d出窗口询问用户选择“Force Close”或者“Wait”。
“Force Close”将杀掉发生ANR的应用进程。“Wait”将会等待系统择机恢复此应用进程。
发生原因:(1)应用主线程卡住,对其他请求响应超时。(2)死锁。(3)系统反应迟钝。(4)CPU负载过重。
2.Force Close:
发生场景:应用进程崩溃。
崩溃症状:系统d出窗口提示用户某进程崩溃。
发生原因:空指针异常等未捕捉的异常。
但是现在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)空指针 *** 作内核。
1.清除软件数据:设置-查找“应用程序管理器”-(全部)-查找软件名称-(存储)-清除数据(注意备份软件中的重要数据)。2.部分机器支持应用程序权限设置:设置-应用程序-(应用程序管理器)-查找并点击不能使用的软件名称-权限-将需要的权限开启。
3.若无效,将设备关机重启尝试。
4.若是自行下载的软件,建议卸载该软件并重新安装(建议下载该软件最新版本尝试),可能是由于软件与手机新系统存在兼容性。
5.若是系统自带软件无法使用,请您携带购机发票、包修卡和机器送到三星服务中心,由专业的售后工程师帮助检测。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)