Измерить (Android) кучу фрагментации? - PullRequest
4 голосов
/ 03 декабря 2011

У нас есть приложение с большим количеством растровых изображений в памяти. Это продолжает терпеть неудачу с

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

ошибки. Возможно, что мы действительно используем слишком много памяти; возможно, у нас течет память; Также возможно, что мы не делаем ничего плохого, и фрагментация кучи - это то, что убивает нас. (Так как сборщик мусора в Android не перемещает живые блоки, мы могли бы освободить мегабайты и не иметь возможности выделить 50 КБ.)

Есть ли способ исключить фрагментацию? Я искал что-то вроде maxAvail / memAvail, но не нашел ничего подходящего.

1 Ответ

1 голос
/ 10 декабря 2011

Я бы посмотрел на проверку кучи через MAT . Eclipse Memory Analyzer поможет вам определить, какие из предложенных вами проблем действительно есть.

На Google I / O 2011 состоялся доклад, в котором были рассмотрены некоторые основы управления памятью и отладки. Вы можете посмотреть онлайн здесь: http://www.youtube.com/watch?v=_CruQY55HOk&feature=relmfu

...