android平台程序崩溃的类型及原因列举
2015-08-31 16:10
393 查看
这里把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)空指针操作内核。
相关文章推荐
- Android动画 fillAfter和fillBefore
- Android动画学习Demo(3) 沿着贝塞尔曲线移动的Property Animation
- Android下binary级的一些分析调试方法
- Android打造不一样的EmptyView
- Android上积累代码
- Android Studio解除65K限制
- 使用Ant打包Android应用——apk生成过程
- Android应用性能优化之使用SparseArray替代HashMap
- Android基础入门教程——5.2.4 Fragment实例精讲——底部导航栏+ViewPager滑动切换页面
- Android实现仿QQ登录可编辑下拉菜单
- Android连接指定Wifi的Demo
- Android-调用本地方法计算int数值相加结果显示在界面上/NDK-JNI开发实例(三)
- 关于datebase,cursor的一些异常 android.database.CursorWindowAllocationException: Cursor window allocation of
- 快速搭建Android开发环境
- Android Gradle配置自动生成JavaDoc
- Android开发:shape和selector和layer-list的(详细说明)
- Android动画translate、scale、alpha、rotate各属性详解
- Android布局
- 按钮单击事件的四种写法(转)
- android 代码混淆 proguard