匕首可以使android活动创建速度变慢吗?
Posted
技术标签:
【中文标题】匕首可以使android活动创建速度变慢吗?【英文标题】:Can dagger make android activity creation slower? 【发布时间】:2021-12-04 13:38:01 【问题描述】:我在活动 A 中有属性数据管理器,我正在通过 dagger 组件在活动 A onCreate() 中实例化它的值实例。
override fun onCreate(savedInstanceState: Bundle?)
datatManager = coreComponent().provideDataManager()
我的问题(可能是一个愚蠢的问题)是:1] 当我在 onCreate() 上调用它时,dagger 是否会生成代码并实例化对象?还是 Dagger 是编译时,它已经在幕后准备好了 Data Manager 依赖的所有类?并在我需要的时候给我参考? 2] 这是否会使创建/启动活动变慢?
【问题讨论】:
【参考方案1】:Dagger 在编译期间生成代码,因此代码本身已经“就绪”,但这并不意味着类实例已经就绪。默认情况下,Dagger 会在您每次访问它们时创建实例,除非您使用诸如 @Singleton
之类的作用域机制。
如果注入的实例很重(即在其构造函数中执行很多操作),那么是的,它会对您的活动创建时间产生负面影响。
【讨论】:
谢谢,很有帮助。以上是关于匕首可以使android活动创建速度变慢吗?的主要内容,如果未能解决你的问题,请参考以下文章