2014-02-05 37 views
2

我是韓國的Android開發者。Android:我如何知道我的應用在VM上分配了多少內存?

我必須在高對象分配情況下執行一些關於空間複雜度的測試&解除分配。

所以,我想測量在VM上爲我的應用分配了多少內存。 不是整個設備或整個應用程序的分配內存,而是我的應用程序!

是的。我已經知道有一個Android內置ActivityManager.getMemoryInfo()

但我很困惑:getMemoryInfo()有一些屬性。

長availMem,長totalMem ...

這些是整個設備?或爲我的應用程序?
還有另一種獲得這些東西的方法嗎?

有人知道嗎?
請幫幫我。

謝謝您的閱讀。

回答

5

有簡單的方法。 只是使用Debug.MemoryInfo()。 代碼與以下相同

Debug.MemoryInfo memInfo = new Debug.MemoryInfo(); 
Debug.getMemoryInfo (memInfo); 

memInfo.getTotalPss(); 
// Indicates Proportional Set Size. USS + (SharedPage/Number of Shared Page) 

memInfo.getPrivateDirty(); 
// Memory should to be freed. 

就這樣!

相關問題