Android存儲路徑大全


一、存儲的分類


Android的存儲路徑實際分類為


內部存儲路徑


內部緩存存儲路徑


外部存儲路徑


外部緩存存儲路徑


在有些手機上,系統也會在內部劃出一個內部的SDCard路徑和內部存儲路徑,所以當有SDCard的時候,就會有6個路徑存在瞭


那麼存儲路徑和緩存存儲路徑的區別就是:


1、緩存路徑一般用於存放一些緩存數據,當程序刪除的時候,緩存文件夾也會隨之刪除,避免瞭程序在卸載之後殘留大量文件。


2、內部緩存路徑和外部緩存路徑也有所區別,當系統的內存空間緊張時,內部緩存路徑下的文件會被刪除,但是沒有一個嚴格的標準保障,應該對這些緩存文件占用的最大存儲空間設定個最大值,當實際超過這個值時,要對這些緩存文件做相應的清理工作 。但是系統不會觀察外部緩存路徑下是否超出大小,要自己去做文件清理機制。


3、內部緩存路徑默認別的程序不能訪問文件,所以一些私密的數據,別的他應用是訪問不瞭的,如果需要運行系統或者其他應用訪問,可以通過修改openFileOutput()下的int mode參數讓別的應用也可以訪問。


二、分析內部緩存和外部緩存的路徑


內部的 /data/data/一般是看不到的,除非root





內部緩存路徑


context.getCacheDir() 清除緩存


模擬器:內部緩存路徑:/data/data/com.mocn.testin/cache/內部緩存路徑.png


Nexus5:內部緩存路徑:/data/user/0/com.mocn.testin/cache/內部緩存路徑.png


this .getFilesDir() 


模擬器:內部文件夾緩存路徑:/data/data/com.mocn.testin/files/內部文件夾緩存路徑.png


this .getDir( "文件夾名字" , Context. MODE_PRIVATE);


模擬器: 內部緩存路徑新目錄:/data/data/com.mocn.testin/app_文件夾名字/內部緩存路徑新目錄.png


this .getFileStreamPath ("下載" )


模擬器:下載:/data/data/com.mocn.testin/files/下載/下載.png





0  MODE_PRIVATE 為默認操作模式,代表該文件是私有數據,隻能被應用本身訪問,在該模式下寫入的內容會覆蓋原文件的內容。


1 MODE_WORLD_READABLE 表示當前文件可以被其他應用讀取。


2 MODE_WORLD_WRITEABLE 表示當前文件可以被其他應用寫入。


3 MODE_MULTI_PROCESS SharedPreference的裝載標記,設置它,文件將會在SharedPreference實例被裝載到進程的時候檢查是否被修改,主要用在一個應用有多個進程的情況。


清除數據會還原成最初的樣子,所有的目錄,sharepreferces,database文件等都會清空





外部緩存路徑


context.getExternalCacheDir() 清除緩存


模擬器:外部緩存路徑:/storage/emulated/0/Android/data/com.mocn.testin/cache/外部緩存路徑.png


Nexus5:外部緩存路徑:/storage/emulated/0/Android/data/com.mocn.testin/cache/外部緩存路徑.png


context.getExternalFilesDir()  


模擬器: 外部文件夾緩存路徑:/storage/emulated/0/Android/data/com.mocn.testin/files/ssssss/外部文件夾緩存路徑.png


三、外部存儲和內部存儲的路徑


外部存儲路徑


Environment. getExternalStorageDirectory()


模擬器:/storage/emulated/0/外部存儲路徑.png


Nexus5:外部存儲路徑:/storage/emulated/0/外部存儲路徑.png

0 個評論

要回覆文章請先登錄註冊