![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
BigBearBeast
这个作者很懒,什么都没留下…
展开
-
Dagger2的使用与理解(3)
这篇我说一下@Scope注解,这个注解说实话我没搞懂,看了很多博客然后自己在写Demo总结,博客里都说就是和依赖的生命周期有关。其实在我看来可以简单地理解为是否与Component绑定,如果与Component绑定,那么Component每次注入的同一个类型的依赖都是相同的,也就是实现局部单例,凡是同一个Component注入的相同依赖都是同一个,如果没有绑定,则每次注入同一个类型的依赖都是重新生成原创 2017-06-16 17:56:15 · 249 阅读 · 0 评论 -
Dagger2的使用与理解(4)
最后一篇介绍一下不同注入器Component之间的相互依赖,这个是什么意思呢。举个例子:B注入器要注入一个Context,因为Context是Android内部的类,所以只能在BModule类提供出来,这时候发现A注入器的AModule已经提供出Context,于是我们就可以B注入器和A注入器依赖在一起,B注入器就可以复用AModule的Context。 也就是说Component之间的依赖就是原创 2017-06-25 14:49:43 · 268 阅读 · 0 评论 -
Dagger2的使用与理解(2)
接下来我们来看看@Module注解和@Provides注解,他们两个是在一起配合使用的。 @Module这个注解是用来修饰类对象的,表示这个类是个模板类,里面的@Provides修饰的方法的返回值用来提供依赖,所以@Provides修饰的方法必须不能是void,否则编译会报错。 为什么要使用这两个注解呢? 因为使用@Inject标记构造器提供依赖是有局限性的,比如说我们需要注入的对象是第三原创 2017-05-18 22:52:13 · 293 阅读 · 0 评论