使用UIwebView-控制器不调用dealloc
2017-08-16 本文已影响43人
Sunfairy
1:webView的代理最好设置为weakSelf
项目中用到了与H5页面交互的东西;我使用了UIWebView,发现WebView真的有很多的坑,例如这一个;当我们生成一个WebView的时候,
给webView设置代理为self这时候,当我们使用完成这个页面,用户弹出本界面的时候.(�popViewontroller的时候);
重写dealloc方法(注意ARC情况下观察者什么的都要在dealloc这个方法里面移除),打上断点你会发现dealloc这个方法并没有走,这是为什么呢?因为在你生成webView的时候,给webView设置了一个代理,所以,造成了一个相互引用,控制器在你pop出去的时候并没有销毁.
如图所示给webView设置代理的时候把代理设置为弱引用,
使用__weak 生成一个弱指针指向self这个时候在使用popviewcontroller的时候,就会调用dealloc方法;
(2)检查本视图控制器中所有block中,是否使用了非weak指针;
(3)是否使用了延时调用 perFormSeletor: afterdealy:之类的;