我有这些警告,我不明白他们的意思.有人能指点我吗?
对于我注入的类(有component.inject(this)声明)
Note: Generating a MembersInjector for [class] Prefer to run the dagger processor over that class instead.
Run Code Online (Sandbox Code Playgroud)
对于我正在注入的对象(带有注释的constuctor @Inject)
Note: Generating a Provider for [class]. Prefer to run the dagger processor over that class instead.
Run Code Online (Sandbox Code Playgroud)
当Dagger的注释处理器运行时,它会生成两种类:
@Component接口的实现Provider和MembersInjector每种@Inject'd类型的实现.在生成@Component接口实现时,它会根据模块的配置方式连接每个实现Provider和MembersInjector实现.如果您的组件或其中的任何模块指的@Inject是在没有 Dagger处理器的情况下编译的'd类型,它仍然会生成Provideror MembersInjector,但是每个组件生成一次,而不是为@Inject'd class 生成一次.
这不是一个真正的问题(因此不是警告或错误),但它确实意味着可能让Dagger处理器为单个应用程序多次生成相同的类.如果它真的失控,它可能会减慢编译速度,并且会占用更多的字节码.
简单的解决方法是确保在编译@Inject'd类型以及组件时运行Dagger注释处理器.
| 归档时间: |
|
| 查看次数: |
4192 次 |
| 最近记录: |