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