From the docs: https://developer.android.com/topic/performance/memory.html#DependencyInjection
它说,它不使用注释。但是我使用了@Inject
,@Component
,@module
...等注释。.语句如何有效
答案 0 :(得分:1)
Dagger2为您生成了大量样板代码和注入代码,通常在您尝试与之交互时,这些生成的对象都以单词Dagger
为前缀。我不知道这是否会回答您的问题,但是在使用Dagger时,通常需要先为要生成的这些类构建应用程序,然后才能真正开始使用它们,并执行清理和构建。再次为您重新生成这些文件(干净删除,构建创建)。
例如:
DaggerAppComponent.builder()
.application(this)
.build()
.inject(this)
此DaggerAppComponent
仅在完成构建后才能访问,因为它是通过匕首框架生成的
dagger提供的注释,例如@Inject
只是告诉dagger HOW生成某些文件或在何处(对于此实例)注入值,这些注释用于告诉dagger如何做事情而不是进行反射