как решить проблему нехватки памяти в приложении для Android - PullRequest
3 голосов
/ 12 августа 2011

У меня есть пользовательский вид списка.в этом я перечисляю изображения приблизительно 200. Изображения были сохранены в моем рисовании.Я преобразовал изображение в растровое изображение и отображаю изображение в виде растрового изображения.Каждый раз, когда действие открывается, изображения выводятся в списке.Например, когда я вызываю действие около 10 раз, оно терпит крах, а ошибка

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

, затем я перезаписываю растровые изображения и, используя функцию System.gs, получаю следующее

Clamp target GC heap from 25.464MB to 24.000MB
GC freed 322 objects / 70664 bytes in 146ms
 Clamp target GC heap from 25.471MB to 24.000MB
 GC freed 2 objects / 48 bytes in 138ms
Forcing collection of SoftReferences for 10720-byte allocation
 Clamp target GC heap from 25.269MB to 24.000MB
 DEBUG/dalvikvm(15311): GC freed 5080 objects / 211168 bytes in 121ms
 ERROR/dalvikvm-heap(15311): Out of memory on a 10720-byte allocation

Теперь, когда я получил это Out of memory on a 10720-byte allocation ошибка

Теперь, как устранить ошибку, пожалуйста, помогите мне, друзья

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

Давайте пройдемся по контрольному списку для вашей ситуации:

  1. Каждый раз создается новое действие, и вы забыли завершить предыдущее?Если вы это сделали, убедитесь, что вы профилируете приложение, выгружая память в файл .hprof и используя MemoryAnalyzer (http://www.eclipse.org/mat/). Проверьте количество экземпляров активности в памяти, чтобы убедиться, что она действительно очищена.
  2. Если вы перезагружаете одни и те же данные, вы можете сохранить это действие и использовать FLAG_ACTIVITY_REORDER_TO_FRONT при его запуске, чтобы не нужно было воссоздавать
  3. Насколько велика ваша прорисовка? Возможно, вы захотитечтобы изменить его размер, прежде чем установить его в ImageView

Позвольте мне придумать еще кое-что, что может быть полезным, и добавлю позже

1 голос
/ 12 августа 2011

Вы пытались установить переменные растрового изображения как Soft-ссылки?

...