0

NWPathMonitor我刚刚在 iOS14 上使用时发现了可重现的内存泄漏。也可以在 iOS13 上重现,我也怀疑 12,但只能测试 iOS 13。

要重现泄漏,您所要做的就是分配一个实例NWPathMonitor(无需持有对它的引用),一旦您这样做,您就会在使用 Leaks 模板在 Instruments 中调试时看到泄漏,或者使用 Xcode 内存图。这可以在模拟器和设备上重现。

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Just allocate the instance and immediately the leaks will show in instruments
        _ = NWPathMonitor()
        return true
    }
4

1 回答 1

0

编辑:我发现这是我的错 - 我忘记在我的班级中调用NWPathMonitor'方法,这是导致泄漏的原因。将其留在这里,以防其他人将来发现它有用。cancel()deinit

原始答案:反馈与 Apple 打开并交叉发布到 OpenRadar:https ://openradar.appspot.com/radar?id=4969412406804480 。希望这会拯救其他人像我一样追逐他们的尾巴,只是发现这是网络框架中的一个错误!

于 2020-08-26T13:58:26.153 回答