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