封装WKWebviewController不走dealloc方法
Posted 火海夕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装WKWebviewController不走dealloc方法相关的知识,希望对你有一定的参考价值。
监测内存泄漏三个方法:
1、Instruments中的Leak动态分析内存泄漏
product->profile ->leaks 打开工具主窗口
链接:https://blog.csdn.net/wlly1/article/details/78461197
2、pod 'MLeaksFinder'
链接:https://www.jianshu.com/p/eb2edcd24791?utm_source=desktop&utm_medium=timeline
3、僵尸调试+控制变量(以上两种方法试过没有解决)
分析:我们一般WKWeb使用当中经常会用到kvo和js进行交互
示例代码:
[_webView addObserver:self forKeyPath:@"title" options:NSKeyValueObservingOptionNew context:NULL];
[_webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew| NSKeyValueObservingOptionOld context:nil];
[self.config.userContentController addScriptMessageHandler:self name:@"getHeaderInfo"];
[self.config.userContentController addScriptMessageHandler:self name:@"goBack"];
这样我们在退出当前页面的时候就需要移除通知和handler
[self.webView removeObserver:self forKeyPath:@"title"];
[self.webView removeObserver:self forKeyPath:@"estimatedProgress"];
[self.config.userContentController removeScriptMessageHandlerForName:@"getUserInfo"];
[self.config.userContentController removeScriptMessageHandlerForName:@"getHeaderInfo"];
注释:不要用removeAllScriptMessageHandlers方法,为了省事,试过了没用的
以上是我最近遇到的问题,如果大家还遇到其他问题,欢迎探讨qq群号:255217300
以上是关于封装WKWebviewController不走dealloc方法的主要内容,如果未能解决你的问题,请参考以下文章