【问题标题】:Android-Application Class act as singleton?Android-Application 类充当单例?
【发布时间】:2016-02-28 09:45:15
【问题描述】:

我有一个类扩展应用程序,我正在使用它的对象在其他类中访问它,例如

private <class-name> <object-name>;

并像这样初始化它:

<object-name> =(<class-name> ) context.getApplicationContext();

它会作为单例还是会形成多个实例?

如果形成了多个实例,我该如何创建它以使其像单例一样?

如果它像单例一样,我可以通过它访问我的静态变量吗?

【问题讨论】:

    标签: java android static singleton android-context


    【解决方案1】:

    是的,应用程序是单例的。但是要获取它的实例,请尝试以下操作:

    public class App extends Application{   
    
    private static App instance;
    
    public static App getInstance() {
        return instance;
    }
    
    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
        .....
    }
    
    
    }
    

    【讨论】:

    • 我的方法有什么问题??
    • 在你的代码中强制转换是不好的:App myApp = (App)contect.getApplicationContext 这不是很好,因为你需要在你想要访问的每个地方获取“上下文”应用程序。例如,您想从某些业务逻辑中访问您的应用程序,您应该将对上下文的引用传递给它。在我的情况下,您不必只获取实例 App.getInstance() 并像单例一样使用它
    • ok ...比单例,这意味着相同...如果你让 fn 像 getinstance () ....?
    • 问题是什么?
    • 我的问题是 ....如果你在应用程序类 中创建 fn 不是类似于 singletomn 吗? ....为什么比扩展应用程序?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    • 2012-12-04
    • 1970-01-01
    • 2019-08-31
    • 2015-10-30
    • 1970-01-01
    相关资源
    最近更新 更多