java - 从静态方法获取 Application 实例

标签 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;
    }

}

最佳答案

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

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

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

关于java - 从静态方法获取 Application 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43337223/

相关文章:

java - 在Java中查找数组中的多个搜索结果

java - 将 List<HashMap<String, Object>> 转换为流

android - 3行后在TextView末尾添加 "View More"

android - 如何让我的 View 在 ACTION_MOVE 后停止收听触摸事件?

android - 无法加载 mupdf : findLibrary returned null

java - 必须在 servlet 上以及异步请求处理中涉及的所有过滤器上启用异步支持

java - Tomcat websockets 与独立java进程通信

java - Spring Boot线程挂?

java - Android 开发新手——这行 XML 是什么意思?

java - 我不允许在 switch case [Android] 中传递资源文件中的字符串