2012-07-06 80 views
7

根據google io video有關了解您的應用程序需要多少內存不起作用,您可以使用procrank並讀取它的USS值。調用procrank在真實設備

我試過了模擬器(無論我使用哪個版本 - 從2.3.x到4.1),它運行良好,但運行在實際設備上,它沒有工作(在Galaxy S3上進行測試android 4.0.4)。就好像該命令不存在一樣。

怎麼可能?有沒有其他方法可以獲得這個USS值?

回答

4

可以使用dumpsys命令

步驟:

  1. 問題的命令行:dumpsys meminfo packageName
  2. 的私人骯髒列是你想要的。
+0

你確定嗎?這完全一樣嗎?我的意思是,它真的是這樣的價值:「當這個應用程序的進程將被殺死時將被釋放的字節量」? – 2012-09-04 17:19:00

+0

你確定嗎procrank和dumpsys – Hugo 2013-04-28 03:37:46

2

U可以也使用

adb shell dumpsys meminfo 

adb shell dumpsys meminfo + pid 

命令

+0

有什麼不同?這完全一樣嗎?我的意思是,它真的是這樣的價值:「當這個應用程序的進程將被殺死時將被釋放的字節量」? – 2013-04-28 05:44:20

1

adb shell dumpsys meminfo [pid](私人髒+私人清潔)

是相同

procrank(USS)

+0

你能展示一些說明它相同的參考嗎? – 2015-02-25 15:54:15

+0

我檢查了兩個命令的實際輸出以得出結論。還有一些零散的參考文獻[這裏](http://soumya.co.in/wp/?p=74)'Uss是指一個進程的私人頁面,可以進一步專門分爲PrCl(乾淨的)和PrDi(骯髒的)'和[這裏](http://roylee17.blogspot.kr/2010/06/memory-usage-estimation-on-android.html)'重要細節是USS使用的內存(私人骯髒+私人清潔)和PSS總數' – neel 2015-02-26 05:33:44

+0

另一個參考可以在這個[stackexchange-question]中找到(https://unix.stackexchange.com/questions/33381/getting-information-about-a-process-memory- use-proc-pid-smaps)'USS不是以smaps報告的,但實際上,它是私有映射的總和'。 – neel 2015-02-26 05:53:28

-1

procrank和dumpsys meminfo中是不一樣的命令,因爲procrank可以顯示這是由事故中喪生,更多的線程。

首先你得外殼procrank,procmem,libpagemap.so從谷歌

然後做俯臥撐一樣:

adb push procrank /system/xbin 
adb push procmem /system/xbin 
adb push libpagemap.so /system/lib 

末:

adb shell chmod 6755 /system/xbin/procrank 
adb shell chmod 6755 /system/xbin/procmem 
adb shell chmod 6755 /system/lib/libpagemap.so