2013-06-12 39 views

回答

5

您可以計算可用內存,如果在大於16的API級別上運行,則可以獲得總內存。從那裏你可以有內存使用。
我在我的應用程序中使用以下方法。它返回以MB爲單位的可用內存。

private void showAvailableMemory(){ 
    MemoryInfo mi = new MemoryInfo(); 
    ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
    activityManager.getMemoryInfo(mi); 
    long availableMegs = mi.availMem/1048576L; 
    Log.i(TAG, "Available memory = " + availableMegs + " MB"); 
} 

如果您在API級> 16運行,您可以使用MemoryInfo.totalMem來獲得設備的內存。

+0

爲什麼我們將它除以1048576L? –

+0

哦好吧得到它..1024 * 1024(MB) –

-1

使用此代碼來計算..

ActivityManager activityManager = = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
MemoryInfo memoryInfo = new MemoryInfo(); 
activityManager.getMemoryInfo(memoryInfo); 

獲取從memoryInfo可用內存。

此外,測量使用該工具,它會告訴你你的應用程序 http://www.littleeye.co/

+0

我想計算它。不只是用工具嗅探它 –

+0

修改了答案。請檢查 – Libin

1

這是最好的答案的內存使用情況:

How do I discover memory usage of my application in Android?

但基本上,你應該檢查USS值:

adb shell procrank -u 

實施例:

PID  Vss  Rss  Pss  Uss cmdline 
    492 73540K 73336K 51256K 49780K system_server 
    676 53712K 53008K 31831K 30696K com.android.systemui 
13918 46408K 46376K 21050K 19504K com.facebook.katana 
相關問題