zoukankan      html  css  js  c++  java
  • Android平台程序崩溃的类型及原因列举

    Android平台程序崩溃大家都应该遇到过,force close和ANR应该是大家遇到较多的。

    这里把Android平台程序崩溃的各种类型做一个简述和原因列举。

    1.ANR(可见ANR):

    发生场景:应用发生ANR。

    崩溃症状:系统弹出窗口询问用户选择“Force Close”或者“Wait”。

           “Force Close”将杀掉发生ANR的应用进程。“Wait”将会等待系统择机恢复此应用进程。

    发生原因:(1)应用主线程卡住,对其他请求响应超时。(2)死锁。(3)系统反应迟钝。(4)CPU负载过重。

    2.Force Close:

    发生场景:应用进程崩溃。

    崩溃症状:系统弹出窗口提示用户某进程崩溃。

    发生原因:空指向异常或者未捕捉的异常。

    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)空指针操作内核。

    本文原创,请勿用于商业用途。 转载请注明出处:http://www.cnblogs.com/mobile-veterans
  • 相关阅读:
    Java数据结构和算法(三)——冒泡、选择、插入排序算法
    Java数据结构和算法(二)——数组
    Java数据结构和算法(一)——简介
    Linux系列教程(二十四)——Linux的系统管理
    部署python项目到linux服务器
    ImportError:No module named 'PIL'
    Django异常
    linux安装mysqlclient报错
    python升级带来的yum异常:File "/usr/bin/yum", line 30
    python3+django+mysql
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/4421701.html
Copyright © 2011-2022 走看看