安卓獲取當前程序的記憶體資訊

2021-10-08 22:03:41 字數 1106 閱讀 7125

activitymanager mactivitymanager =

.global_context.

getsystemservice

(context.activity_service)

;android.os.debug.memoryinfo[

] memoryinfos = mactivitymanager

.getprocessmemoryinfo

(new

int)

;pss +=

(double

)memoryinfos[0]

.gettotalpss()

/1024

;uss +=

(double

)memoryinfos[0]

.gettotalprivatedirty()

/1024

;

通過這種方法可以傳入當前程序的 pid 獲取到當前程序的總記憶體占用情況。

pss - proportional set size 實際使用的物理記憶體(比例分配共享庫占用的記憶體)

uss - unique set size 程序獨自占用的物理記憶體(不包含共享庫占用的記憶體)

cmdtools adb =

newcmdtools()

;string mem = adb.

execadbmem

("dumpsys meminfo "

+pid,0)

;string[

] memarr = mem.

split

("total");

pss += double.

valueof

(memarr[1]

.split

("\\s+")[

1])/

1024

;uss += double.

valueof

(memarr[1]

.split

("\\s+")[

2])/

1024

;

適用於安卓10記憶體資訊獲取,速度比dumpsys meminfo快

C Process獲取當前程序資訊

1.獲取當前程序資訊整理 process.getcurrentprocess 返回當前程式的程序物件。process cur process.getcurrentprocess 當前程序的id console.writeline cur.id 獲取關聯的程序的終端服務會話識別符號。console.w...

Linux核心獲取當前程序指標

我們在教材或閱讀中,經常需要直觀的用圖示來展示資料在記憶體中的分布,那麼資料是如何在記憶體中組織的呢?不同的機器有不同的表示法,我們以最常見的intel x86系列計算機為例來說明這個問題。如上圖示記憶體示意圖 記憶體低址在上。記憶體高址在下,記憶體單位為16bit。對於基於intel i386架構...

C 獲取當前程序HASH的方法

用c 實現在這個過程,我們需要進行下面幾個步驟 得到當前程序所對應的本地宿主檔案 開啟這個檔案流 確定hash演算法,計算檔案流的hash 將hash結果轉換為我們熟悉的字串表現形式。下面就分別就這幾個方面來進行解釋。在system.diagnostics命名空間下,有個process類,msdn的...