------------恢復內容開始------------
一、最近使用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) } }
經過打印
的確存在部分沒有釋放的對象,但是無法確認引用循環的造成,還需要繼續排查