2011-02-08 136 views
2

我在我的應用程序中使用了一個外部jar庫,它使用位圖。這會在我的應用程序中導致內存不足異常。這種問題描述如下: http://code.google.com/p/android/issues/detail?id=8488Android上的OutOfMemory異常

一旦OOME發生,一個活動崩潰,應用程序仍在運行,內存將是免費的,但WiFi連接將丟失。

在活動崩潰前有沒有辦法讓內存空閒?可能我應該說,我無法訪問庫中使用的位圖。我也嘗試在onPause和onDestroy中調用System.gc(),但這沒有幫助。

爲什麼活動崩潰時內存空閒?

wi-fi連接發生了什麼?

謝謝

UPD

這個庫是osmdroid

+0

如果記錄了.jar的用法,它會有所幫助。也許你沒有調用釋放/回收位圖的API。或者,也許你正在以自己的原始分辨率解碼大圖像,這太多了。 – 2011-02-08 11:38:06

+0

這個圖書館是osmdroid,我還沒有看到任何api釋放/循環位圖。但我會再看 – Tima 2011-02-08 14:59:27

回答

1

儘量延長Application類用自己的(需要聲明AndroidManifest.xml)。在那些Application類中有一個方法Application.onLowMemory() - 必須在低內存上調用。您可以重寫此方法並嘗試釋放不必要的資源。可能它會是有用的。