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

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

注意:在 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

你可能感兴趣的:(android,crash没有日志,android,退出app代码,为什么不要在android,log中打印中文)