在我的Application类中,我将单身匕首Component作为静态对象,并通过其静态getter方法到达它。

public class MyApp extends Application {

        private static UtilsComponent utilsComponent;

        @Override
        public void onCreate() {
           ......
        }

        public static UtilsComponent getUtilsComponent(){
            if(utilsComponent == null){
                utilsComponent = DaggerUtilsComponent.builder()
                        .formattersModule(new FormattersModule())
                        .build();
            }
            return utilsComponent;
        }
}


我想知道的是这是正确的方法吗?会引起问题吗?如果是这样,那是什么?

最佳答案

没关系。但是为什么要把它放在Application类中呢?将其放在称为例如Injector的标准单例类中。仍然您可能想在Application中初始化单例,这很好。

关于java - Dagger2-组件保持为应用程序中的静态对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40256667/

10-11 04:24