Я заметил, что на моем Galaxy Nexus android.content.res.Resources
выделяет около 11 МБ. Я обнаружил это в процессе профилирования с помощью DDMS и опции "Dump HPROF file
". Итак, я потратил два часа, пытаясь понять, было ли выделение вызвано чем-то в моем коде или вспомогательных библиотеках. Я удалил все данные, тонну классов, все библиотеки и не увидел никаких изменений. После установки точки останова в моем коде в начале метода onCreate()
активности, он показал, что выделение 11 МБ уже присутствует.
После того, как я окончательно запутался, я решил подключить свой укорененный Nook Color под управлением CM7, чтобы посмотреть, что он сообщает о начальном использовании памяти для точно такого же приложения. Наихудший случай использования памяти "Подозреваемый в проблеме", о котором сообщает MAT, весит всего 896 КБ.
Неужели ICS настолько перегружена? Я что-то упустил? Насколько я могу судить, мое приложение работает правильно, но использование кучи на 97% заставляет меня беспокоиться о возможных сбоях.
Если это поможет, MAT указывал, что основными объектами, потребляющими всю память, были Bitmaps, BitmapDrawables
и NinePatchDrawables
. Я не понимаю, откуда берутся эти выделения.