我的问题有点类似于this one ,但我有更具体的需求。我们开始吧:
在我的 Android 应用程序中,我想添加将 Logcat 保存到日志文件中的功能。因此,当用户报告我的应用程序出现问题时,我可以要求提供日志文件。将 Logcat 保存到文件中非常简单,如 here 中所述。 。现在的问题是:什么时候保存?
我当前的计划是在应用程序的 onCreate 中调用 logcat -c
,并在 onStop 中保存 Logcat。通过预先调用 logcat -c
,我删除了与我的应用程序无关的信息。
但是,我发现我的计划有两个缺陷:
如果用户安装了两个不同的应用程序,则第二个应用程序有可能在第一个应用程序完成之前启动。因为第一个应用程序的onStop没有被调用,所以Logcat还没有保存。第二个应用程序的 onCreate 中的
logcat -c
将清除第一个应用程序到目前为止的所有日志记录信息。即使只有一个应用程序正在运行,如果它崩溃了,它的 onStop 也不会被调用。或者是吗?我检查了 Activity 的生命周期,但无法确定在崩溃时是否调用 onStop。假设它没有被调用,那么这就超出了我的目的。我需要 Logcat 来了解我的应用程序崩溃的原因,但如果崩溃,则不会保存 Logcat。
有什么想法和/或建议吗?提前致谢!
最佳答案
不建议在发布版本上启用日志。当应用程序崩溃并且用户报告时,您可以从开发人员控制台获取崩溃堆栈跟踪。堆栈跟踪足以分析崩溃。它会清楚地指出类、方法和行号。
如果您在应用程序中启用了混淆器,则可以使用映射文件重新跟踪堆栈跟踪来分析崩溃。
关于java - Android Activity生命周期: when to save the Logcat into a file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22721533/