Я делаю модификации для запуска Android 4.0, и у меня было много ошибок OutOfMemory. После обновления 4.0.3 оно стало намного хуже (или началось, кажется, все было хорошо, но я так и не смог протестировать должным образом), и я много чего пытался исправить. Ошибка также в стоковом лаунчере без моих модификаций.
Я посмотрел на кучу hprof в Eclipse Memory Analyzer и заметил, что класс системных ресурсов занимает 50% памяти. Почти все это были растровые изображения, включая некоторые растровые изображения размером 1 МБ 512x512 пикселей. Так как мой телефон 400x800, я не понимаю, почему у него будет ресурс с таким разрешением. Тогда было более 800 других растровых изображений, но это были более разумные размеры.
Приложение не содержит 800 ресурсов, так возможно ли, что они из других пакетов? Я знаю, что приложение загружает значки и предварительные просмотры виджетов из других приложений, но это все еще не до 800, и даже если оно является их частью, почему оно все еще хранится в памяти?
Я загрузил файл hprof в http://176.31.247.124/nebkat/heap.hprof, если это необходимо.