------------恢复内容开始------------
一、最近使用RxSwift在多次信号的嵌套中,发现一个对象始终始终无法释放
开始想通过Memory Graph验证是否没有释放,一直报错,后来确认是Xcode的bug
No reply dictionary received from LeakAgent request
始终无法确认问题,只能考虑使用一个弱引用的数组来验证了
final class WeakBox<A: AnyObject> { weak var unbox: A? init(_ value: A) { unbox = value } } 类定义 private static var debugArray = [WeakBox<ExampleObject>]() 初始化时 KeyBoardItemsData.debugArray.append(WeakBox(self)) dump(list: KeyBoardItemsData.debugArray) 打印 private func dump(list: [WeakBox<KeyBoardItemsData>]) { list.forEach { (item) in print(item) } }
经过打印
的确存在部分没有释放的对象,但是无法确认引用循环的造成,还需要继续排查