从静态方法获取Application实例

时间:2017-04-11 05:11:07

标签: java android

使用静态方法获取Android中的Application后继实例是否正确?我在一些开源项目中看到了这种方法:VLCShuttle

public class MyApplication extends Application {

    private static MyApplication sApplication;

    public static MyApplication getInstance() {
        return sApplication;
    }

    @Override
    public void onCreate() {
        super.onCreate();

        sApplication = MyApplication.this;
    }

}

1 个答案:

答案 0 :(得分:4)

是。这种方法是正确的。这是您遵循的单身模式。由于static变量始终是正确的方式,因为它是您希望在任何地方维护的单一状态。

只要您的应用程序永远不会在多个进程中运行,它也是安全的。每个流程的应用比例严格一对一。

我也在我的所有应用程序中使用它。