Android内存泄漏异常

时间:2015-05-06 13:00:08

标签: java android performance android-bitmap

我在Android中更改Activity或创建Bitmap对象时在android中捕获异常内存我应该做什么来完成当前活动或执行其他操作?由于Java有垃圾收集器,所以我认为我不必手动删除对象。

try {
    // done something that causing memory leak
} catch (OutOfMemoryError e) {
    // what should I do here  
}

任何建议都将受到赞赏。

3 个答案:

答案 0 :(得分:2)

来自Error的JavaDoc:

  

ErrorThrowable的子类,表示合理的应用程序不应该尝试捕捉的严重问题。大多数此类错误都是异常情况。

OutOfMemoryError发生时,损坏已经完成。您应该在应用程序中识别并解决问题,而不是捕获此错误。

创建位图对象时,可能的原因可能是此位图的大小太大,或者您创建的位图太多。

答案 1 :(得分:0)

许多成员已经说过,你不能这么做。找出根本原因并修复。您可以做的一件事是通过在manifest.xml中应用它来增加堆大小

<application
.
.
.
   android:largeHeap="true"> 

答案 2 :(得分:0)

处理位图是如此敏感,任何人必须知道处理它们的事情很多,如果你不小心,位图会迅速消耗你的可用内存预算,导致应用程序崩溃。

我认为您应该阅读并遵循本文关于&#34;有效显示位图&#34;,以了解如何正确加载,缓存,处理和管理位图。

http://developer.android.com/training/displaying-bitmaps/index.html