美文网首页
WKWebView 之内存泄漏

WKWebView 之内存泄漏

作者: izsm | 来源:发表于2018-09-04 16:03 被阅读0次

WKWebView与JS交互时,会用WKUserContentController注入对象

private lazy var webView: WKWebView = {
        let config = WKWebViewConfiguration()
        config.userContentController.add(self as WKScriptMessageHandler, name: "Request")
        let webView = WKWebView(frame: .zero, configuration: config)
        webView.load(URLRequest(url: url))
        return webView
}()

这里注入的名称为“Request”,如果我们不移除“Request”的话会导致内存泄漏,所以在viewDidDisappear的时候把“Request”移除

override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        webView.configuration.userContentController.removeScriptMessageHandler(forName: "Request")
}

相关文章

网友评论

      本文标题:WKWebView 之内存泄漏

      本文链接:https://www.haomeiwen.com/subject/kxogwftx.html