3

我有一个 BaseActivity 用作我所有活动的父级。我想将 Activity 事件(onCreate()、onStart()、onResume() 等)记录到 Crashlytics,所以当发生崩溃时,我知道用户在做什么以及当前活动的活动。我将以下代码添加到要记录的所有方法中:

CrashlyticsCore.getInstance().log(getClass().getSimpleName() + ".onResume()");

我想知道这样做是否是个好主意。日志是否仅在发生崩溃时发送?我不会向服务器发送垃圾邮件并为用户产生不必要的网络调用吗?也许有更好的方法来使用 Crashlytics 实现面包屑?

4

1 回答 1

5

顾名思义,Crashlytics 只会在崩溃后触发报告(并发送日志),并且最多只能包含 64kb 的日志历史记录,如文档中所述:“确保发送崩溃报告的影响最小在您用户的设备上,Crashlytics 日志的最大大小为 64 KB。当日志超过 64 KB 时,将删除最早记录的值以保持此阈值。

如果您问我的个人意见,记录每个onCreate, onResume. Crashlytics 报告将已经包含堆栈跟踪,让您深入了解错误。

如果您已捕获异常并想要记录这些异常,您可以按照此处的说明执行此操作,方法是调用Crashlytics.logException(e);。同样只存储其中的 8 个:“对于任何单个应用程序会话,只存储最近记录的 8 个异常”。

于 2017-03-29T09:14:21.670 回答