簡體   English   中英

android存儲持久性SharedPreferences與localstorage

[英]android storage persistence SharedPreferences vs localstorage

我正在開發基於HTML5的web應用,並計划使用phonegap或sencha將其發布為本地應用。

我需要一些東西來存儲我的本地應用程序數據〜2MB(可以是名稱/值對),但是存儲需要保持持久性,不應在手機重啟或重置為出廠默認設置時刪除。

用戶可以清除它們或它們的壽命是多少,以及在什么條件下被清除,andriod中SharedPreferences和localstorage的范圍是什么?

我的另一個問題是有關sqlite的,andriod backup mgr是否會對此備份,並在用戶恢復電話並且用戶可以清除sqlite db時將其還原?

只能從原始應用程序訪問SharedPreferences和localStorage。 localStorage通常有5MB的限制,但並非在所有手機上都有限制,有些會允許更多。 另外,localStorage僅在API級別7中可用。

當用戶轉到“應用程序”設置並手動清除數據時,將同時清除SharedPreferences和localStorage。

如果您的API級別為8或更高,則可以使用外部文件目錄,該目錄也是應用程序專有的。 用戶清除此目錄中數據的唯一方法是卸載應用程序。 您可以這樣獲取路徑:

context.getExternalFilesDir(null).getAbsolutePath();

如果您的API級別<8,那么您仍然可以使用標准sdCard位置進行存儲,但是在用戶卸載應用程序之后,這些文件將位於該位置。

因此,最好的選擇是將SQLite數據庫存儲在外部文件目錄或sdCard上(如果API最低級別為<8)。

暫無
暫無

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

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