活动A中有属性数据管理器,我正在通过dagger组件实例化活动A中的值实例( onCreate() )。
override fun onCreate(savedInstanceState: Bundle?){
datatManager = coreComponent().provideDataManager()
}我的问题(可能是愚蠢的问题)是: 1]当我在onCreate()上调用它时,dagger会生成代码并实例化对象吗?或者Dagger正在编译时,它已经准备好了数据管理器依赖的场景后面的所有类?当我需要的时候请给我参考? 2]这会使创建/启动一个活动的速度变慢吗?
发布于 2021-12-25 13:42:00
Dagger在编译过程中生成代码,因此代码本身已经“就绪”,但这并不意味着类实例已经准备好了。默认情况下,Dagger每次访问实例时都会创建实例,除非使用@Singleton之类的作用域机制。
如果一个注入的实例很重(即构造函数中做了很多),那么是的,它会对您的活动创建时间产生负面影响。
https://stackoverflow.com/questions/69600132
复制相似问题