Dagger 可以让 android activity 创建变慢吗?
Can dagger make android activity creation slower?
我在 Activity A 中有 属性 数据管理器,我正在通过 dagger 组件在 activity A onCreate() 中实例化它的值实例。
override fun onCreate(savedInstanceState: Bundle?){
datatManager = coreComponent().provideDataManager()
}
我的问题(可能是愚蠢的问题)是:1] 当我在 onCreate() 上调用它时,dagger 是否生成代码并实例化对象?或 Dagger 在编译时,它已经在后台准备好所有 类 数据管理器所依赖的内容?并在我需要时将参考资料递给我? 2] 这会使 creating/starting 和 activity 变慢吗?
Dagger 在编译期间生成代码,因此代码本身已“准备就绪”,但这并不意味着 class 个实例已准备就绪。默认情况下,Dagger 会在您每次访问它们时创建实例,除非您使用 @Singleton
.
等作用域机制
如果注入的实例很重(即在其构造函数中做很多事情)那么是的,它会对您的 activity 创建时间产生负面影响。
我在 Activity A 中有 属性 数据管理器,我正在通过 dagger 组件在 activity A onCreate() 中实例化它的值实例。
override fun onCreate(savedInstanceState: Bundle?){
datatManager = coreComponent().provideDataManager()
}
我的问题(可能是愚蠢的问题)是:1] 当我在 onCreate() 上调用它时,dagger 是否生成代码并实例化对象?或 Dagger 在编译时,它已经在后台准备好所有 类 数据管理器所依赖的内容?并在我需要时将参考资料递给我? 2] 这会使 creating/starting 和 activity 变慢吗?
Dagger 在编译期间生成代码,因此代码本身已“准备就绪”,但这并不意味着 class 个实例已准备就绪。默认情况下,Dagger 会在您每次访问它们时创建实例,除非您使用 @Singleton
.
如果注入的实例很重(即在其构造函数中做很多事情)那么是的,它会对您的 activity 创建时间产生负面影响。