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