我已經拋棄了大量的內存,並發現存在內存泄漏。如果你看截圖,你會看到只有一個片段,但有9個相同類型的演示者。應該只有一個。當我檢查一個演示者實例時,分析器向我顯示對演示者的引用。 這些都是RxAndroid方法的回調方法。我正確地取消了在片段的onDestroyView中的所有這些。不過,演示者實例並未被清理(如您所見)。如何找到配置文件的內存泄漏
所以我想知道如何區分有效(循環,內部)引用,它仍然存在,因爲對象仍然沒有垃圾收集,和有問題的引用(這是導致對象不被清理)。
有人可以指導我如何找出內存泄漏的位置嗎?
你試過L eakCanary已經? https://github.com/square/leakcanary – Kriczer
我對LeakCanary看得不夠深入 - 現在會這樣做...... – stoefln
您在哪裏存儲這些對象的「訂閱」?調用'取消訂閱'是不夠的,你不得不'去掉任何引用。或者,使用'onTerminateDetach'。 – akarnokd