这是一个更加理论性的问题。如果我走错了方向,请告诉我。
在Dagger 2中,有没有一种异步/并行加载一些图形依赖项的方式?在Dagger的上下文中是否应该考虑这个问题?
我的问题主要与应用程序启动时间有关。许多外部依赖项,如Mixpanel、Crashlytics/Fabric、Retrofit(RestAdapter)会导致应用程序的预热时间超过1秒。
Lazy<>接口对我有很大帮助,但最终效果仍然无法令我满意。
有什么想法吗?
示例
应用程序具有SplashActivity,它取决于SplashActivityPresenter,后者又取决于:Mixpanel、RestAdapter和Crashlytics库(以及几个“较小”的对象)。每个对象都有一个.init()方法,需要很长时间(Mixpanel在Nexus 5上需要大约200ms来初始化,Android M。因此,在用户看到Splash屏幕之前,需要大约2秒钟。
有没有一种在并行构造这些对象的方式?