標籤:
通過360手機小幫手圖示,我們可以很清楚地看到整個手機儲存空間分成三塊:
各目錄結構圖如下:
通過手機自身查看,
圖中的16G指的是:system分區+cache分區+recovery分區+data分區+sdcard(內建sd卡)分區加起來16GB三者之間的關係: 安裝程式到手機或sd卡,都是將程式分成兩部分安裝,一部分在“系統檔案盤”建立一個程式的第一部分,再在內建或外置sd卡上建立程式的第二部分,所以說360手機衛士的安裝程式到手機或者sd卡選項,指的是程式的第二部分的存放位置,第一部分永遠在“系統檔案盤”。程式只能安裝在 data分區或者是sdcard分區 外置SD卡不能用來安裝程式(前提是你有內建SD卡,如果你沒有內建SD卡,那麼外置SD卡就是sdcard分區),只能存放一些檔案,片,音樂 ,視頻等。系統空間一般連電腦上看不到 ,通過360等程式可看到。
我們的程式使用到兩部分空間:一個是系統空間中的data檔案目錄,通過getFileDir方法擷取。一個是內建SD卡空間通過Environment.getExternalStorageDirectory(),下面進行分別驗證。 1、驗證系統空間:我們的程式通過getFileDir方法來擷取路徑/data/data/com.example.testwebview/files,這個路徑對應的是系統空間中的data目錄。 我們做demo可擷取Environment.getDataDirectory()目錄對應的儲存空間的剩餘大小為
128M,對應系統空間的剩餘容量,示紅圈標註
2、驗證內建 SD卡空間。 我們的程式通過Environment.getExternalStorageDirectory()方法擷取路徑/storage/emulated/0,這個路徑對應的就是內建SD卡的路徑。只不過系統空間持有內建SD卡的映射。 我們做demo可擷取Environment.getExternalStorageDirectory()目錄對應的儲存空間的剩餘大小為
107M,能夠對應SD卡的剩餘容量,示紅圈標註
關於Environment.getExternalStorageDirectory()方法,我們看一下官方文檔的解釋,可詳細看紅色標識的部分 可見,用此方法擷取的儲存路徑是內建儲存空間(內建SD卡),這種儲存空間區別於受保護的內部儲存空間(系統空間)
我們2.9的程式是這樣的流程,
實際上這樣也不太合理,因為系統空間中包括內建SD卡的空間,所以合理的的壓圖流程應為:
android手機儲存空間劃分及壓圖路徑選取