2013-03-09 2 views
0

Я работаю над приложением, основанным на множестве растровых изображений, теперь проблема в том, что на некоторых устройствах я получаю исключение во время выполнения во время тестирования приложения.Приложение на основе Bitmap Запуск RunTime из бюджета VM

это может меня из-за размера растрового изображения превышает бюджет VM.

Теперь проблема в том, что я не могу уменьшить использование растрового изображения в Application.so, каковы возможные решения.

Я пробовал следующую ссылку, но не успел.

http://voices.yahoo.com/android-virtual-machine-vm-out-memory-error-7342266.html

пожалуйста, помогите мне.

+4

Опубликовать эту ветку кода, вызывающую проблему – DjHacktorReborn

ответ

1
This Happens because calling invalidate() just redraw same bitmaps on to the canvas.. 
use garbage collector just try to free memory when these bitmap getting overdraw this 
might help you...:-) 
0

Recycle bitmaps когда не используется. Сжатие растрового изображения для уменьшения использования памяти. Посмотрите на эту ссылку. http://developer.android.com/training/displaying-bitmaps/load-bitmap.html.

Используйте анализатор MAT, чтобы проверить, сколько памяти используется растровым изображением.

Проверьте ссылку. Говорит об управлении памятью и о том, как использовать MAT для обнаружения утечек памяти. http://www.youtube.com/watch?v=_CruQY55HOk.

Попробуйте сжать btimap, чтобы использовать меньше памяти.

0

Вы можете попробовать загрузить растровое изображение с разным растровым изображением config. Это может помочь уменьшить размер загруженного объекта растрового изображения в куче, выбрав другой профиль. Например, если вам не нужны альфа-значения, используйте конфигурацию RGB565.

Recyle bitmap; взгляните на this, это хорошо прочитано.

Вы можете указать

android:largeHeap="true" 

в вашем файле манифеста. Это позволит добавить больше кучи в приложение, но только в том случае, если это возможно. Доступна форма API 11.

Вы также можете попробовать показать уменьшенную версию пользователю и разрешить любую манипуляцию, если таковая имеется (в качестве приложения для просмотра галереи по умолчанию).

Кроме того, убедитесь, что то, что вы получаете, является «проблемой бюджета VM, превышаемой из-за битмапа», потому что вы сами не уверены.