在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
------------恢复内容开始------------ 一、最近使用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) } }
经过打印 的确存在部分没有释放的对象,但是无法确认引用循环的造成,还需要继续排查 |
请发表评论