我已经抛弃了大量的内存,并发现存在内存泄漏。如果你看截图,你会看到只有一个片段,但有9个相同类型的演示者。应该只有一个。当我检查一个演示者实例时,分析器向我显示对演示者的引用。 这些都是RxAndroid方法的回调方法。我正确地取消了在片段的onDestroyView中的所有这些。不过,演示者实例并未被清理(如您所见)。如何找到配置文件的内存泄漏
所以我想知道如何区分有效(循环,内部)引用,它仍然存在,因为对象仍然没有垃圾收集,和有问题的引用(这是导致对象不被清理)。
有人可以指导我如何找出内存泄漏的位置吗?
你试过L eakCanary已经? https://github.com/square/leakcanary – Kriczer
我对LeakCanary看得不够深入 - 现在会这样做...... – stoefln
您在哪里存储这些对象的“订阅”?调用'取消订阅'是不够的,你不得不'去掉任何引用。或者,使用'onTerminateDetach'。 – akarnokd