是否可以懶惰地初始化織物套件?例如,現在我做:Fabric套件的懶化初始化?
Fabric.with(this, crashlytics, twitterCore, tweetUi); // 500ms
我想僅初始化Crashlytics(沒有嘰嘰喳喳的東西),如下圖所示,因爲它是快10倍,而且我不需要Twitter的東西馬上
Fabric.with(this, crashlytics); // 50ms
稍後,當用戶訪問我需要TwitterCore & TweetUi的活動時,我想在使用它們之前將它們添加到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());
}
感謝您的回答!不幸的是沒有那些理想。我們有沒有機會至少讓Twitter初始化更快?我不知道它在做什麼,但是在450毫秒(在Galaxy S7上),這非常密集。 – zrgiu
由於Fabric已被Google收購,對於任何緩慢的初始時間,我都建議在https://twittercommunity.com/c/publisher上發帖,因爲Twitter團隊會監視SDK上的任何問題。 –