5

Android提供的數據存儲下列選項:Android的 - 不同的存儲選項續航時間

共享偏好 - 在鍵值對存儲私人的基本數據。

內部存儲器 - 將私有數據存儲在設備內存中。

外部存儲器 - 將公共數據存儲在共享的外部存儲器上。

SQLite數據庫 - 將結構化數據存儲在專用數據庫中。

緩存 - 應用程序中緩存數據運行(可以在空間不足清)

我想知道是這些存儲的續航時間。

  1. 哪些存儲(S)在應用程序關閉(顯然緩存)
  2. 哪些存儲(S)清除設備上的應用程序清除重新安裝
  3. 哪些存儲(S)清除設備上的應用程序更新
  4. 哪些存儲(一個或多個)將清除應用未安裝
  5. 哪個存儲(一個或多個)將清除應用明確數據
  6. 哪個存儲(一個或多個)將清除移動工廠重置
  7. Whic氫充電(S)將清除ROM升級/更改

的擴展,這個問題是,用我的數據是存儲更安全損失方面並在准入方面未授權的資源 (用戶,根目錄下的應用程序)。

回答

4

哪些存儲(S)清除設備上的應用程序關閉(顯然緩存)

緩存

哪些存儲(S)清除設備上的應用程序重新安裝

緩存

哪些存儲(S)清除設備上的應用程序更新

緩存

哪個存儲(一個或多個)將清除應用未安裝

緩存,SQLite的,共用首

哪個存儲(一個或多個)將清除應用明確數據

緩存,SQLite,共享首選項

哪些存儲(S)將清除手機恢復出廠設置

它清除所有,而不是外部存儲數據

的擴展,這個問題是,使用該存儲我的數據來講是更安全的損失以及未授權資源(用戶,root用戶的應用程序)的訪問權限。

最好以加密形式將數據存儲在SQLite中。如果你的設備是固定的,那麼這意味着你甚至可以訪問SQLite。

+0

此答案只是部分正確,需要更新:請注意,存儲在InternalStorage中的應用程序數據也將在應用程序卸載,應用程序「清除數據」以及執行出廠重置後清除。使用getExternalFilesDir()存儲在externalStorage上的應用程序私有數據也是如此。這些數據也將在應用程序卸載時被刪除,並且用戶通過設置清除應用程序數據。有關Google開發者的更多信息[存儲選項](http://developer.android.com/guide/topics/data/data-storage.html#filesExternal)頁面。 –

1

在回答你的問題時,默認情況下持久性存儲(SQL,Internal \ External storage,SharedPreferences)的行爲基本相同,並且Cache的行爲不同。

持久性存儲 - 在以下情況下不會被清除:1,2,3 - 將在其他情況下清除。

內部\外部存儲 - 可以在應用程序移除後生存(如果配置適當),因此,如果您專門處理此問題,則有可能不會刪除4 & 5。

緩存 - 將在所有情況下被清除(在某些情況下您可能能夠在應用程序關閉後訪問緩存,但不可靠)。

7 *(ROM更新可以使用備份解決方案保留應用程序數據,否則將採取行動一樣6)關閉

2

應用:緩存文件後不會關閉應用程序被刪除。

按照Android的文檔,

When the device is low on internal storage space, Android may delete these cache files to recover space. However, you should not rely on the system to clean up these files for you. You should always maintain the cache files yourself and stay within a reasonable limit of space consumed, such as 1MB. When the user uninstalls your application, these files are removed.

應用程序重新安裝和未安裝:CacheShared PreferencesInternal StorageDatabases將被刪除時,未安裝該應用程序。

應用程序更新:通常您以前版本中的所有內容都將被恢復。 Docs也不清楚這一點。

應用清除數據:除External Storage之外的所有數據都將被永久刪除。

恢復出廠設置:執行出廠設置將清除除預裝的應用程序及其數據以外的所有應用程序及其數據。您可以恢復您的應用程序與谷歌帳戶,但沒有數據(如果數據不與BackUp Api備份。

併爲你的最後一個問題, 有NO安全數據存儲,如果你存儲在設備中的數據,即使外部數據存儲可以用USB文件選項被刪除。爲了保護數據,您應該維護您的服務器上的用戶數據,並得到它的需求。

希望我是清楚的。

相關問題