Я решил, что настало время узнать, как использовать Leak Canary для обнаружения утечек в моих приложениях, и, как я всегда это делал, я попытался реализовать его в своем проекте, чтобы действительно понять, как использовать инструмент. Реализация этого была достаточно простой, сложная часть читала то, что инструмент отбрасывает мне. У меня есть scrollview, который, похоже, накапливает память в диспетчере памяти, когда я просматриваю вверх и вниз (хотя он не загружает никаких новых данных), поэтому я подумал, что это хороший объект-кандидат для отслеживания утечек, вот результат:Утечка канарейки, утечка recyclerview mAdapter
похоже v7.widget.RecyclerView просачивается адаптер, а не мое приложение. Но это не может быть прав ... правильно?
Вот код для адаптера и использование класса решений этого: https://gist.github.com/feresr/a53c7b68145d6414c40ec70b3b842f1e
Я начал Баунти на этот вопрос, потому что всплыли после двух лет на совершенно другое приложение
Похоже, вы передаете контекст приложения, когда вам, вероятно, следует использовать контекст RecyclerView или контекст вашей деятельности. Контексты приложений - это долгая жизнь, которая предотвратила бы сбор. – Submersed