Android 儲存目錄. 官方定義的internal , external storage

文章推薦指數: 80 %
投票人數:10人

內存:data/app 目錄底下在Android 才是被定義成內存。

官方對於external storage 有分兩個層級,私有外存與公有外存。

公有外存:這些檔案可以被其他的 ... GetstartedOpeninappJamesLinSigninGetstarted35FollowersAboutGetstartedOpeninappAndroid儲存目錄JamesLinNov5,2018·4minread官方定義的internal,externalstorage外存:只要是data/app目錄底下以外的都稱為外存,因為App無法掌控其他目錄底下的資料。

內存:data/app目錄底下在Android才是被定義成內存。

官方對於externalstorage有分兩個層級,私有外存與公有外存。

公有外存:這些檔案可以被其他的App所使用,甚至當App被解除安裝後,這些檔案還是會存在。

(ex:相片)私有外存:這些檔案只屬於App,當App被解除安裝後,這些檔案會被刪除,但是這些檔案可以透過一些技巧讓外部的APP存取或者使用者存取。

接著來介紹一下幾種檔案目錄InternalStorage:從下圖可以看到Context.filesDir.parent與Context.fileDir,所以App的私有目錄是在/data/user/0…..;這底下的資料是只有App本身可以存取。

CacheStorage:他也是屬於InternalStorage,比較需要注意的一點是當系統記憶體較低時,會把CacheStorage的東西刪除。

ExternalStorage:Environment.getExternalStoragePublicDirectory,他有幾種公開的路徑可以選擇詳細內容請查官網(https://developer.android.com/reference/android/os/Environment#DIRECTORY_PICTURES),這些檔案可以被其他的App所存取。

ExternalPrivateStorage:this.getExternlFilesDir(null),這裡面的檔案,當App被解除安裝時,這些檔案會被移除,可以用其他的方式讓外部App及使用者存取。

如果傳入的參數是null則會到file目錄ExternalStorage:Environment.getExternalStorageDirectory,取得ExternalStorage的root目錄。

ExternalStorage:this.externalCacheDir,是external的cache檔案,與internalcache一樣,但是有幾點要注意,這些cache檔案除了time檔案,其餘的檔案皆不會被自動刪除,由於是external的檔案,有可能因為使用者拔除SD卡之類的導致檔案遺失。

ExternalStorage:this.externalMediaDirs[0].toURI().toString(),回傳的是一個Array,裡面有AppMedia的絕對路徑。

JamesLinliveforpassionFollow11 1AndroidMorefromJamesLinFollowliveforpassion



請為這篇文章評分?