Dagger 代替反射做了什么
What does Dagger do instead of reflection
From the docs: https://developer.android.com/topic/performance/memory.html#DependencyInjection
它说,它不使用注释。但是我已经使用了像@Inject
、@Component
、@module
这样的注释.....声明是如何有效的
Dagger2 为您生成大量样板和注入代码,通常当您尝试与这些生成的对象交互时,这些生成的对象会以单词 Dagger
为前缀。我不知道这是否会回答您的问题,但是在使用 Dagger 时,您通常需要先构建应用程序以生成这些 类,然后才能真正开始使用它们,并执行clean and build 将再次为您重新生成这些文件(clean deletes,build creates)。
举个例子:
DaggerAppComponent.builder()
.application(this)
.build()
.inject(this)
这个 DaggerAppComponent
只有在构建后才能访问,因为它是通过 dagger 框架生成的
dagger 提供的注释,例如 @Inject
只是告诉 dagger 如何生成某些文件或在哪里(对于此实例)注入值,这些注释用于告诉 dagger 如何做事而不是正在反思
From the docs: https://developer.android.com/topic/performance/memory.html#DependencyInjection
它说,它不使用注释。但是我已经使用了像@Inject
、@Component
、@module
这样的注释.....声明是如何有效的
Dagger2 为您生成大量样板和注入代码,通常当您尝试与这些生成的对象交互时,这些生成的对象会以单词 Dagger
为前缀。我不知道这是否会回答您的问题,但是在使用 Dagger 时,您通常需要先构建应用程序以生成这些 类,然后才能真正开始使用它们,并执行clean and build 将再次为您重新生成这些文件(clean deletes,build creates)。
举个例子:
DaggerAppComponent.builder()
.application(this)
.build()
.inject(this)
这个 DaggerAppComponent
只有在构建后才能访问,因为它是通过 dagger 框架生成的
dagger 提供的注释,例如 @Inject
只是告诉 dagger 如何生成某些文件或在哪里(对于此实例)注入值,这些注释用于告诉 dagger 如何做事而不是正在反思