从静态方法获取应用程序实例

Nik*_*tov 4 java android

在 Android 中使用静态方法获取应用程序后继的实例是否正确。我在几个开源项目中看到过这种方法: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;
    }

}
Run Code Online (Sandbox Code Playgroud)

Chi*_*hod 6

是的。这种做法是正确的。这是您正在遵循的单例模式。作为static变量始终是正确的方法,因为它是您想要在任何地方维护的单一状态。

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

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