android持久化方式
Android手機存儲分爲:內部存儲和外部儲存。
在Android4.4以前,手機機身存儲就叫內部存儲,插入的SD卡就是外部存儲。
但是在Android4.4以後這兩個存儲的定義又有了一些些變化,新的手機不再有外插SD卡的概念,採取了內置閃存(eMMC、UFS等)的方式,所以內部存儲和外部存儲在新的Android手機上已經在同一個硬件上。
內部存儲
內部存儲位於系統中很特殊的一個位置,對於設備中每一個安裝的 App,系統都會在 data/data/packagename/xxx 自動創建與之對應的文件夾。
對於這個內部目錄,用戶是無法訪問的,除非獲取root權限。
通常對應內部存儲的路徑爲 data/data/packagename/files。注意:/data/user/0/ 等同於 /data/data/
訪問代碼實例:
context.getDir(String name,int mode)
外部儲存
外部存儲需要通過context來獲取,同時在app卸載之後,這些文件也會被刪除,類似於內部存儲。
外部存儲並不總是可用的,因爲外部存儲可以移除(早期設備)或者作爲USB存儲設備連接到PC,訪問前必須檢查是否掛載(mounted)。
系統目錄
getRootDirectory()
對應獲取系統分區根路徑:/system
getDataDirectory()
對應獲取用戶數據目錄路徑:/data
getDownloadCacheDirectory()
對應獲取用戶緩存目錄路徑:/cache,