Ich entschied, dass es höchste Zeit war, Leak Canary zu verwenden, um Lecks in meinen Apps zu erkennen, und wie immer, versuchte ich es in meinem Projekt zu implementieren, um wirklich zu verstehen, wie man das verwendet Werkzeug. Die Umsetzung war einfach, der schwierige Teil war zu lesen, was das Werkzeug auf mich zurückwirft. Ich habe eine Scrollview, die Speicher im Speichermanager ansammeln scheint, während ich scroll rauf und runter (obwohl es keine neuen Daten lädt), also dachte ich, das war ein gutes Kandidat Objekt auf Lecks zu verfolgen, das ist das Ergebnis:Leak Canary, Recyclerview undicht Adapter
Es sieht aus wie v7.widget.RecyclerView den Adapter undicht ist, und nicht meine Anwendung. Aber das kann nicht stimmen .... oder?
Hier ist der Code für den Adapter und die Klasse macht Gebrauch davon: https://gist.github.com/feresr/a53c7b68145d6414c40ec70b3b842f1e
ich eine Prämie für diese Frage begonnen, weil es
Es sieht so aus, als würden Sie den Anwendungskontext übergeben, wenn Sie wahrscheinlich entweder den Kontext von RecyclerView oder den Kontext Ihrer Aktivitäten verwenden sollten. Anwendungskontexte sind langlebig, was eine Sammlung verhindern würde. – Submersed