簡體   English   中英

強制關閉后重置SharedPreferences

[英]SharedPreferences being reset after force close

我已經能夠成功地將共享首選項實現到我的應用程序中,但是如果我通過任務管理器終止應用程序,我遇到了重置/刪除數據的問題。

我使用靜態方法進行保存,這樣我只需要一次該方法,並且可以在我的應用程序中隨處調用它。

protected static synchronized void save(Context cntx){
    SharedPreferences preferences2 = cntx.getSharedPreferences("BluRealms", 0);
    SharedPreferences.Editor editor = preferences2.edit();
    editor.putBoolean("level", Stats.level);
    editor.commit();
}

一旦我殺了我的應用程序,我的所有數據都會被設置回我的SharedPreferences保存方法中的默認設置。

我也做了一些搜索,並發現一些帖子說,在清單文件中添加android:persistent =“true”可以解決問題,但即使這樣,數據仍然會重置。


編輯:我想我發現了一些關於我的問題的信息。 此問題突出顯示三星Galaxy S手機無法正確保存SharedPreferences的問題,這是我正在測試的設備。 http://code.google.com/p/android/issues/detail?id=14359 - 尤其是評論6

有關這方面的任何更多信息都會很棒!

好的,我可以通過從我的save方法中刪除“protected static”來解決這個問題。

我只是將save方法放在需要保存的每個類中,然后只調用onPause()和onDestroy()方法中的save方法,而不是調用全局保存方法。

我注意到,如果我在一個類中調用save()太多次了,當我關閉應用程序時似乎也會刪除我的SharedPreferences。

小費:

不要使用靜態方法來獲取或設置共享首選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM