是否可以延迟初始化Fabric Kit?例如,现在我做:

Fabric.with(this, crashlytics, twitterCore, tweetUi); // 500ms

我只想初始化Crashlytics(没有Twitter内容),如下所示,因为它的速度快了10倍,而且我不需要立即使用Twitter的内容
Fabric.with(this, crashlytics); // 50ms

稍后,当用户访问需要TwitterCore和TweetUi的 Activity 时,我想在使用它们之前将它们动态添加到Fabric中。

这可能吗 ?

编辑:我设法通过反射来完成它,这显然不理想,但是暂时可行。我仍在寻找适当的解决方案。这是我的操作方式:
    try {
        final Fabric newFabric = (new Fabric.Builder(context)).kits(crashlytics, twitterCore, tweetUi).build();
        final Method method = Fabric.class.getDeclaredMethod("setFabric", Fabric.class);
        method.setAccessible(true);
        method.invoke(null, newFabric);
    } catch (Exception e) {
        Timber.e(e, e.getMessage());
    }

最佳答案

来自Fabric的Mike。目前,我们仅尊重Fabric的首次初始化。一种选择是首先初始化所有内容,或者如果您可以丢失一些崩溃,则不要初始化,直到稍后在应用程序代码中初始化Twitter和Crashlytics。

10-07 19:41
查看更多