Dagger2之Lazy和Provider(懒加载)-第六章

    @Inject
    Lazy<User> lazyUser; //注入Lazy元素
    @Inject
    Provider<User> providerUser; //注入Provider元素

    public void init() {
        DaggerComponent.create().inject(this);
        User user1 = lazyUser.get();
        //在这时才创建user1,以后每次调用get会得到同一个user1对象
        User user2 = providerFruit.get();
        //在这时创建user2,以后每次调用get会再强制调用Module的Provides方法一次,根据Provides方法具体实现的不同,可能返回跟user2是同一个对象,也可能不是。
    }

}

猜你喜欢

转载自blog.csdn.net/wenyingzhi/article/details/80032081