Эй, похоже, у меня какая-то проблема с утечкой памяти при просмотре списка. Активность представления списка находится на вкладке, и каждая строка загружает изображение и отображает его в ImageView (выкладывая его как фон). Я использую кеш, похожий на droidfu http://github.com/kaeppler/droid-fu/blob/master/src/main/java/com/github/droidfu/imageloader/ImageCache.java
Кажется, все работает нормально, так как я полностью очищаю кэш памяти, когда он получает более 20 элементов, а также полностью очищаю кэш диска, когда он превышает 0,5 МБ, просто для безопасности. Проблема возникает, когда у меня большой список элементов в списке (скажем, 100), и я продолжаю прокручивать этот список вперед и назад так быстро, как могу. В конце концов я получаю эти сообщения в Logcat:
Требуется кучный массаж (59892-байтовое внешнее распределение слишком велико)
Полный GC (не собирать SoftReferences)
Зафиксировать целевую кучу GC с 16,277 МБ до 16 000 МБ
Попробуйте обрезать источник кучи
Полный сбор данных (сбор SoftReferences)
И целая куча тех, кто приводит к закрытию силы. Я не слишком уверен, в чем проблема или как ее исправить: S
Спасибо!
Вот полный журнал: http://pastebin.com/MghMdbxS
Оказывается, проблема в том, что создается слишком много объектов AsyncTask / Thread. Я использую код из http://code.google.com/p/android-imagedownloader/ и не знаю, как это исправить ...