为什么共享首选项已在应用程序崩溃时重置或强制关闭Android

时间:2014-11-28 13:30:51

标签: android sharedpreferences

我已经使用CSIPSIMPLE代码并重新打包到com.mycompany.appname

问题是,每当应用程序崩溃时,所有值都将从共享首选项中删除。

为什么?

我的申请

public class BeemApplication extends Application {

    static BeemApplication application = null;

    public static SharedPreferences mPref;
    public static Editor mEditor;

    public BeemApplication() {

    }

    public static BeemApplication getInstance() {
        if(application != null) {
            return application;
        } else {
            return new BeemApplication();
        }
    }

    @Override
    public void onCreate() {
        super.onCreate();
        application = this;
        mPref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        mEditor = mPref.edit();
    }

    @Override
    public void onTerminate() {
        super.onTerminate();
    }

}

在活动中我会得到它们,

BeemApplication.mEditor.putString(ctx.getString(R.string.pref_online_number), number).commit();

BeemApplication.mPref.getString(ctx.getString(R.string.pref_online_number), number).commit();

1 个答案:

答案 0 :(得分:1)

这是许多人面临的常见问题,包括我自己。 看看这篇分享你的发现的帖子Android - Shared Preferences are lost sometimes

我建议不要在共享首选项中存储持久数据,而是使用类似数据库表的内容来存储设置。