У меня есть приложение для Android, которое отображает множество изображений, оно работает, изображения собираются из URL, добавляются в очередь и собираются в 4 потока, сохраняются в кэше и затем отображаются в виде списка 4 изображения для строки На экране одновременно находится шесть строк. Всего 90 изображений.
Строки (и изображения) всегда перерабатываются, поэтому количество элементов всегда одинаково, и я ничего не инициализирую.
Кажется, это работает вполне нормально, у меня всегда средний размер кучи - 13 МБ.
У меня проблема в том, что в начале мой максимальный размер кучи довольно мал, и я получаю сообщения GC, такие как:
01-20 16: 48: 39.191: D / dalvikvm (9743): GC_FOR_ALLOC освобожден <1K, 31% свободен 12048K / 17351K, приостановлено 25 мс </p>
но чем больше я прокручиваю вверх по виду, тем больше становится размер кучи, и все больше и больше я получаю такие вещи, как
01-20 17: 02: 05.339: D / dalvikvm (11730): GC_FOR_ALLOC освобожден 544K, 72% свободен 13871K / 49159K, приостановлено 35 мс
как вы видите, даже если используется то же самое, максимум увеличивается, даже если я никогда не достигал этого предела. и настоящая проблема в том, что в этот момент я начинаю получать ошибки из памяти.
Может кто-нибудь объяснить мне, что не так?
Спасибо!