2013-02-26 49 views
2

我遇到了有關增長堆的問題,我有兩個問題要問。在Android中增加堆問題

首先,我該如何檢查當前設備中增長的堆?

第二,如何減少增長堆大小以防止內存不足錯誤?

回答

4

你的意思是你想檢查應用程序可以使用的堆的總大小嗎?或者堆中剩下多少空閒內存?

要看到堆的總大小,你可以調用

Runtime rt = Runtime.getRuntime(); 
long maxMemory = rt.maxMemory(); 
Log.v("onCreate", "maxMemory:" + Long.toString(maxMemory)); 

這會告訴你你的應用程序了多少內存字節允許使用(source

要找出是多少你可以做following

你什麼時候出現內存錯誤?一個起點可能是覆蓋onLowMemory()方法...

+0

示例'爲19764字節的分配增長堆(frag case)爲3.373',我想知道這個細節 – barssala 2013-02-26 12:06:02

+1

該消息意味着堆(使用的內存)已擴展到3.373MB,以容納正在加載到內存中的19764字節的對象。如果您使用代碼崩潰的代碼示例編輯您的問題,我可能會幫助更多。 – bScutt 2013-02-26 12:29:41