
我对dagger2有疑问,
如果我为@Singleton提供了ApplicationComponent,但没有在某些类中使用@Inject实例化该对象.对象在某个类中为@Inject时是否会实例化?
例如,在下面的代码中,test是否在main2上实例化?
@Singletonpublic class Test { @Inject public test() { }}public class main() { @Inject Test test; public voID start() { DaggerComponent.create().inject(this); }}public class main2() { public voID start() { DaggerComponent.create().inject(this); }}解决方法:
在某个类中注入它时将被实例化.
您可以通过dagger检查生成的代码,以获取DaggerComponent类的inject(main2)方法,该代码将为空,如下所示:
@OverrIDe public voID inject(main2 clazz) {}而inject(main)方法将调用注入字段(在创建它的实例之后).
总结以上是内存溢出为你收集整理的java-应用程序组件上的Dagger 2实例化全部内容,希望文章能够帮你解决java-应用程序组件上的Dagger 2实例化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)