Android DDMS High Initial Retained Heap

Прошу прощения, наверное глупый вопрос. Я получаю сообщение об ошибке нехватки памяти на своем Android, поэтому я просмотрел несколько часов учебных пособий по DDMS. Я все еще новичок в этом, но такое поведение странно.

Я получал около 30 МБ в своей мелкой куче. Итак, я начал проверять все объекты, ничто не выглядело слишком подозрительным (только несколько больших растровых изображений и тому подобное), однако есть несколько действительно огромных объектов, которые, похоже, не принадлежат моему приложению. Итак, я протестировал ddms на пустом приложении. Когда я создаю дамп в основном пустом приложении, он все еще говорит, что там 12 МБ материала. На всех туториалах ни у кого не было ничего похожего на эти. Я предположил, что, поскольку нам нужно щелкнуть приложение, чтобы сделать дамп, оно собирало объекты, характерные для приложений. Это предположение неверно? И есть ли способ это исправить? Собирает ли он другие объекты, не связанные с моим приложением?

Как я уже сказал, это приложение, по сути, максимально голое, без графических ресурсов, без ничего. Я только что сделал приложение для Android и запустил его.

Вот гистограмма введите здесь описание изображения


person Jared Drake    schedule 15.01.2014    source источник


Ответы (1)


Если ваше устройство выше ICS (Android 4.0), дополнительное выделение памяти используется для аппаратного ускорения с целью улучшения графической производительности.
В Android 3.x аппаратное ускорение можно отключить, установив флаг в AndroidManifest.xml. Но в android 4.x такого флага нет и аппаратное ускорение всегда true, если ваше устройство его поддерживает.

Вот источник.
https://plus.google.com/105051985738280261832/posts/2FXDCz8x93s

person Zhenghong Wang    schedule 15.01.2014