Android - скользящие растровые изображения не GC'd

В нашем приложении есть возможность объединять навигацию в цепочку, что приводит к нехватке памяти.

Под цепочкой я имею в виду, что у нас есть одно действие и определенный тип фрагмента, который позволяет вам открывать экземпляр того же типа фрагмента, но с разными данными.

например Activity->MyFragment->MyFragment->MyFragment->MyFragment->MyFragment....

из-за этого у нас в конце концов заканчивается память, так как этот фрагмент имеет просмотрщик изображений плюс еще несколько изображений.

глядя на следующие две ссылки SO

Проблемы с нехваткой памяти в приложении Android - все перепробовал и все равно в недоумении

Когда фрагмент заменяется и помещается в задний стек (или удаляется), остается ли он в памяти?

Диана (hackbod) подчеркивает, что вы должны привести в порядок свои ресурсы в onDestroyView, что я и сделала.

Однако, используя вкладку «Память» в Android Monitor и выгружая кучу в файлы hprof, я вижу, что мои растровые изображения и представления изображений никогда не уничтожаются.

Мне интересно, связано ли это с Glide и bitmapPool? Я не знаю, как это настроить, поскольку мы используем только статический метод Gilde.with для получения RequestManager, и я не вижу в нем никаких методов для настройки битмаппулов или чего-то еще.

Есть идеи?

:)


person Russ Wheeler    schedule 02.10.2015    source источник