2014-02-16 44 views
0

我正在製作一個應用程序,它使用了許多位圖處理。這個應用程序的Bcoz在很多內存中都耗費了很多時間。 我知道我可以使用內存緩存或文件緩存來停止這種內存不足的錯誤,但是,而不是我使用android:largeheap = true屬性只是爲了方便。 我的問題是...它是否對應用程序有任何副作用?我知道它會通過強制關閉其他應用程序來使用其他應用程序RAM。 對我的應用程序的行爲是否有任何其他副作用?解決使用大堆內存不足

+1

是的。由於您不明白如何計算,測量和控制應用程序使用的堆,因此您通過請求增加堆來完成的所有操作都是爲了延遲應用程序崩潰的時間點。 – Simon

回答

0

如果您使用大圖像,請嘗試將它們放在WeakReference內。我在我的應用程序中做了同樣的事情,並且它在內存使用情況方面表現出色。

+1

在普通的Java中可以工作。在Android中,從3.0開始,WeakReference不會持續 - 當最後一個強參考超出範圍時,它們會被刪除。 Android中的正確方法是使用LRUCache代替。 –