我们正在尝试减少iOS应用程序中的冷启动延迟,我们注意到Crashlytics可以花费50到150毫秒(在低端设备上)通过其API进行设置:
Fabric.with([Crashlytics.self])
这被指示在应用程序生命周期中尽早运行。
有没有人找到文档或尝试在后台队列中运行这段代码并成功?
答案 0 :(得分:2)
Mike来自Fabric。如果你在后台线程上初始化,你就有可能在应用程序启动时丢失崩溃,所以从技术上讲你可以,但是有一些权衡。一般来说,在我的测试中,我看到一个30-60ms的初始化。
答案 1 :(得分:0)
如果您实施了CrashlyticsDelegate协议(特别是crashlyticsDidDetectReportForLastExecution
回调)并将自己设置为委托,那么Crashlytics将异步上传崩溃报告,因此您无需将初始化置于后台线程:
仅实现此委托方法将禁用所有形式的同步报告提交。这可能会在应用程序启动的早期阶段影响报告崩溃的可靠性。
https://docs.fabric.io/appledocs/Crashlytics/Protocols/CrashlyticsDelegate.html