2015-05-06 3 views
0

Я улавливаю исключение из памяти в android при изменении Activity или создании объекта Bitmap в Android. Что мне делать, чтобы закончить текущую деятельность или сделать что-то еще? Поскольку у Java есть сборщик мусора, поэтому я думал, что мне не нужно удалять объекты вручную.Исключение утечки памяти Android

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

Любое предложение будет оценено по достоинству.

+0

вы можете изменить heapsize. – devcelebi

+0

Я действительно предлагаю вам посмотреть это: https://www.youtube.com/watch?v=_CruQY55HOk (один час ... но это действительно хороший разговор об утечке памяти отслеживания на Android) – ben75

+3

Вы можете ' t действительно делает что-либо в блоке catch. У вас есть искомая причина и исправить ее. – ben75

ответ

2

С JavaDoc из Error:

Error является подклассом Throwable, что указывает на серьезные проблемы, что разумное применение не следует пытаться поймать. Большинство таких ошибок являются ненормальными условиями.

Если произошел OutOfMemoryError, повреждение уже выполнено. Вместо того, чтобы ловить эту ошибку, вы должны определить и решить проблему в своем приложении.

При создании растровых объектов возможными причинами могут быть то, что размер этого растрового изображения просто слишком велик или вы создаете слишком много из них.

0

Вы не можете так много об этом, так как многие участники уже сказали. Найдите причину и устраните причину. Одна вещь, которую вы можете сделать, это увеличить размер кучи, применяя это в Manifest.xml

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

Работа с растровыми изображениями настолько чувствительна, есть много вещей, любой человек должен знать о работе с ними, если вы не осторожны, растровые изображения могут быстро потреблять ваш доступный бюджет памяти, приводящий к сбою приложения.

Я думаю, что вы должны прочитать и следовать этой статье о «Эффективном отображении растровых изображений», чтобы узнать, как правильно загружать, кэшировать, обрабатывать и управлять растровыми изображениями.

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

Смежные вопросы