Ответ 1
Система будет предварительно загружать системные ресурсы по умолчанию, это не зависит от ваших ресурсов приложения, таких как стандартные Drawables для флажков и переключателей. 10.5MB кажется большим, но есть много системных ресурсов по умолчанию, а изображения больше, чем когда-либо сохраненные в памяти. Предварительная загрузка не нова, но размер предварительной нагрузки может быть больше в ICS. Плотность дисплея, вероятно, играет определенную роль в этом наряду с просто добавлением большего количества системных Drawables, предварительно загруженных в ICS.
В настоящее время нет способа уменьшить память, хранящуюся в sPreloadedDrawables
К сожалению, нет способа устранить это после того, как процесс приложения будет создан для приложений (особенно игр), которые не используют большую часть системных Drawables. В этом случае, хотя большой размер ресурсов предварительной загрузки, похоже, был ошибкой с определенным выпуском (или портом телефона) ICS. В противном случае обычно это небольшой объем памяти, поэтому я сомневаюсь, что когда-нибудь понадобится такой механизм для сокращения использования памяти предварительной загрузки.
Если у вас закончилась нехватка памяти в результате этого кеша, я, скорее всего, напишу отчет об ошибке в Google.
Здесь вы можете проследить процесс предварительной загрузки ресурсов, если вы заинтересованы в более внутренних деталях. ZygoteInit.preloadResources