Похоже, сборщик мусора Dalvik не уважает SoftReferences и удаляет их как можно скорее, как и WeakReferences. Я еще не уверен на 100%, но, несмотря на то, что все еще есть ~ 3 МБ свободной памяти, мои SoftReferences очищаются после того, как я увижу в LogCat сообщение «GC освобождает bla-bla-bla bytes».
Кроме того, я видел комментарий Марка Мерфи здесь :
За исключением того, что это не работает на Android, по крайней мере, в версии 1.5 временное ограничение. Я понятия не имею, Исправлены ошибки SoftReference. SoftReferences слишком рано получают GC с этот баг.
Это правда? Не соблюдаются ли SoftReferences?
Как это обойти?