我在Android中更改Activity或创建Bitmap对象时在android中捕获异常内存我应该做什么来完成当前活动或执行其他操作?由于Java有垃圾收集器,所以我认为我不必手动删除对象。
try {
// done something that causing memory leak
} catch (OutOfMemoryError e) {
// what should I do here
}
任何建议都将受到赞赏。
答案 0 :(得分:2)
来自Error
的JavaDoc:
Error
是Throwable
的子类,表示合理的应用程序不应该尝试捕捉的严重问题。大多数此类错误都是异常情况。
当OutOfMemoryError
发生时,损坏已经完成。您应该在应用程序中识别并解决问题,而不是捕获此错误。
创建位图对象时,可能的原因可能是此位图的大小太大,或者您创建的位图太多。
答案 1 :(得分:0)
许多成员已经说过,你不能这么做。找出根本原因并修复。您可以做的一件事是通过在manifest.xml中应用它来增加堆大小
<application
.
.
.
android:largeHeap="true">
答案 2 :(得分:0)
处理位图是如此敏感,任何人必须知道处理它们的事情很多,如果你不小心,位图会迅速消耗你的可用内存预算,导致应用程序崩溃。
我认为您应该阅读并遵循本文关于&#34;有效显示位图&#34;,以了解如何正确加载,缓存,处理和管理位图。
http://developer.android.com/training/displaying-bitmaps/index.html