2011-02-08 103 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() - 必须在低内存上调用。您可以重写此方法并尝试释放不必要的资源。可能它会是有用的。