简体   繁体   English

静态单例类变为空

[英]static singleton class becoming null

I read a lot but couldn't understand how to restore state when some data kept on singletone class. 我读了很多书,但是当一些数据保留在单调类上时,我不明白如何恢复状态。 for example 例如

public class UserDataKeeper {


    private static UserDataKeeper instance;

    private User mUser;

    private UserDataKeeper(){
    }

    public static UserDataKeeper getInstance() {

        if (instance == null) {
            instance = new UserDataKeeper();
        }

        return instance;
    }

    public User getUser() {
        return mUser;
    }

    public void setUser(User mUser) {
        this.mUser = mUser;
    }
}

When my android application come from background user data becoming null. 当我的Android应用程序来自后台时,用户数据变为null。 what should I do here for not getting null result. 我在这里应该怎么做才能不会得到空结果。

Is the only solution is save data using SQLite,Preference or something else ? 唯一的解决方案是使用SQLite,Preference或其他方法保存数据吗?

Even if you're implementing a Singleton (which is almost always a bad solution), you're still storing the data in memory. 即使您实现了Singleton(这几乎总是一个糟糕的解决方案),您仍将数据存储在内存中。 After your application is closed the data will be lost. 关闭应用程序后,数据将丢失。 If you want persistent storage then yes, you'll need to have either a SQLite database, or write your information to disk. 如果要永久存储,则可以,您需要拥有一个SQLite数据库或将信息写入磁盘。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM