美文网首页
07.对Dagger中几个类的说明

07.对Dagger中几个类的说明

作者: redrain39 | 来源:发表于2020-01-09 09:03 被阅读0次

关于Dagger2

前言

关于Dagger的相关注解已经在之前的几篇中进行了讲解和分析,部分注解也简单看了一下具体的实现过程,除了注解,Dagger中还有几个常用的类也要来了解一下。

Lazy

延迟注入,只有在调用 Lazy 的 get() 方法时才会初始化依赖实例注入依赖。

Provider

强制注入,但是每次调用get()方法是都会创建一个新的实例。

public class DirectlyInjectActivity extends AppCompatActivity {

    @Inject
    Provider<DirectlyInject> mDirectlyInject;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_directly_inject);

        DaggerDirectlyInjectComponent.create().inject(this);

        Log.d("Dagger测试", "DirectlyInject: " + mDirectlyInject.get());
        Log.d("Dagger测试", "DirectlyInject: " + mDirectlyInject.get());
        mDirectlyInject.get().log();

    }
}

打印的结果会发现两次调用的对象都不一样:


打印结果

相关文章

网友评论

      本文标题:07.对Dagger中几个类的说明

      本文链接:https://www.haomeiwen.com/subject/rkaeactx.html