美文网首页
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