android crash没有日志_Android三方应用crash崩溃问题分析——开篇必读

本文介绍了在Android三方应用崩溃时如何分析问题,强调了日志中的am_crash、am_finish_activity和am_proc_died等关键log的重要性。通过分析这些log,可以判断应用是否真正crash或是正常退出。同时,讨论了Android系统如何处理未捕获的异常以及如何自定义异常处理机制。
摘要由CSDN通过智能技术生成

在三方应用崩溃问题时,一定要注意下面事项。

注意:在 log 里面看到三方应用打印了 Java 层的进程异常堆栈,并不一定表示应用就发生 crash 了。

应用自身可能 catch 了这些 exception ,只是把堆栈打印出来,并没有 crash。

应用突然闪退,有可能是发生 crash,也有可能是自身正常调用 finish() 函数退出。

要确认是否发生 crash,可以查看 event log 是否打印应用 crash 的信息。

如果打印了很多进程堆栈,但是 event log 没有打印应用对应的 crash 信息,那么应用可能就没有发生异常退出。

在Android应用代码中,可以替换系统默认的KillApplicationHandler,自己来处理 uncaught exception。

那么应用在遇到没有显式 catch 的异常时,并不会导致异常退出,AMS 也不会得到通知来 kill 应用,该应用仍正常运行。

Android应用崩溃、结束、进程终止时,会在 events log 里面打印一些关键log,具体说明如下。

am_crash

查看 Android 源码里面的 frameworks/base/services/core/java/com/android/server/am/EventLogTags.logtags 文件,对 event log 的 am_crash 信息说明如下:

# Unhandled excepti

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值