導航:首頁 > 操作系統 > android獲取存儲空間

android獲取存儲空間

發布時間:2023-09-15 10:18:12

android存儲及路徑

分為:內部存儲和外部存儲

如何區分內部存儲和外部存儲:可以從物理和邏輯區分

從物理的角度區分,內部存儲就是手機自帶存儲空間,外部存儲就是外部接入的存儲空間例如SD卡

從邏輯意義上區分,data,system 目錄就是手機的內部存儲,而 mnt 或者 storage目錄下的sdcard0指向的sdcard目錄就是外部存儲。如果是手機自帶的外部存儲被稱為機身外部存儲,外置的SD卡則稱之為外部存儲。當然兩者都稱為外部存儲也沒關系。這里描述的內部存儲和機身外部存儲都屬於機身存儲;

邏輯區分是從4.4以上版本開始的;

獲取內部存儲路徑和api對應關系

1,通過Environment

2,通過上下文Context

Build.VERSION_CODES.LOLLIPOP及以上版本新增的API

Build.VERSION_CODES.N及以上版本新增的API

特點:

1、內部存儲路徑中的文件是分類存儲的,我們無法干涉,除了cache目錄,別的目錄系統不會自動創建

2、除了files目錄,別的目錄我們幾乎都是無法手動操作的

3、別的App幾乎無法訪問內部存儲中的數據,除了用非法手段或者我們主動暴露

4、內部存儲目錄下的文件夾及文件會隨著app的卸載而被系統自動刪除

外部存儲又可分為共有目錄和私有目錄;

私有目錄

私有目錄:不需要訪問許可權

Android 在外部存儲空間中也提供了特殊目錄供App存放私有文件,該路徑為:/storage/emulated/0/Android/data/包名/

注意:應用安裝之後/storage/emulated/0/Android/data/是沒有對應的應用文件夾的,需要手動調用對應的API創建;

獲取私有目錄路徑

共有目錄

共有目錄:需要申請許可權才能訪問

許可權:6.0以上需要動態申請

獲取共有目錄的API 29中已過時:

Ⅱ 如何查看Android手機的內存

打開手機找到設置點擊進入

Ⅲ android系統中查看內存信息

看下大致內存使用情況 (free+buffers+cached)

proc/meminfo 機器的內存使用信息

/proc/pid/maps pid為進程號,顯示當前進程所佔用的虛擬地址。

/proc/pid/statm 進程所佔用的內存

df 查看 存儲空間使用情況

ps -t |grep system_server (或 surfaceflinger, service manager, media server,zygote) ( 倒數第二個是不是 s) 異常情況有如』D』, 『T』, 『Z』 , 『R』等

mpsys meminfo com.android.mms 列印一個app的mem信息

從以上列印可以看出,一般來說內存佔用大小有如下規律:VSS >= RSS >= PSS >= USS

VSS - Virtual Set Size 虛擬耗用內存(包含共享庫佔用的內存)是單個進程全部可訪問的地址空間

RSS - Resident Set Size 實際使用物理內存(包含共享庫佔用的內存)是單個進程實際佔用的內存大小,對於單個共享庫, 盡管無論多少個進程使用,實際該共享庫只會被裝入內存一次。

PSS - Proportional Set Size 實際使用的物理內存(比例分配共享庫佔用的內存)

USS - Unique Set Size 進程獨自佔用的物理內存(不包含共享庫佔用的內存)

USS 是針對某個進程開始有可疑內存泄露的情況,進行檢測的最佳數字。懷疑某個程序有內存泄露可以查看這個值是否一直有增加

使用mpsys meminfo查看內存信息

腳本:

adb shell ps -t> tsq/ps.txt

adb shell top -t -m 5 -n 2 > tsq/top.txt

adb shell service list  > tsq/serviceList.txt

adb shell cat /proc/meminfo >tsq/meminfo

adb shell cat /proc/buddyinfo >tsq/buddyinfo

adb shell procrank > tsq/procrank.txt

adb shell cat proc/sched_debug >tsq/sched_debug.txt

adb shell cat proc/interrupts >tsq/interrupts.txt

adb shell mpstate > tsq/mpstate.txt

adb shell bugreport > tsq/bugreport.txt

@echo "finish."

pause

閱讀全文

與android獲取存儲空間相關的資料

熱點內容
linux怎麼配置網路 瀏覽:301
程序員想要的小禮物 瀏覽:184
java獲取網頁url 瀏覽:624
怎麼做解壓神器泡泡版 瀏覽:966
自己動手做一個c編譯器 瀏覽:929
手機如何鏈接谷歌伺服器地址 瀏覽:137
廢掉一個程序員的武功 瀏覽:249
java樹形演算法 瀏覽:641
通達信加鎖指標源碼怎麼看 瀏覽:754
將同名文件移動到部分同名文件夾 瀏覽:403
擺盪指標加壓力線源碼 瀏覽:915
新一代單片機特徵 瀏覽:770
王者的伺服器什麼時候才修好 瀏覽:281
cad歷史命令 瀏覽:41
php博客源代碼 瀏覽:24
cng壓縮機功率 瀏覽:459
pdf批量列印怎麼設置 瀏覽:78
javamap底層 瀏覽:267
賣華為雲伺服器 瀏覽:111
中穎單片機燒錄器 瀏覽:848