static singleton类变为null

时间:2015-01-04 11:23:56

标签: java android android-activity singleton

我阅读了很多,但是当单数类保留一些数据时,我无法理解如何恢复状态。例如

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

当我的android应用程序来自后台用户数据变为null时。我应该怎么做才能得到null结果。

唯一的解决方案是使用SQLite,Preference还是其他方式保存数据?

1 个答案:

答案 0 :(得分:1)

即使您正在实现Singleton(这几乎总是一个糟糕的解决方案),您仍然将数据存储在内存中。关闭应用程序后,数据将丢失。如果您想要持久存储,那么您需要拥有SQLite数据库,或者将您的信息写入磁盘。