关于WKWebView的使用

机器:mac pro 

开发工具:XCode 7.2

时间 2016.4月


把有用的放在最前面,如在开发,拿走,不写。

WKWebView是可以很好解决webView的内存过高和不释放的问题,亲测,有效。内存原先跑200m不会掉,现在只需要60m

WKwebView使用方式和webView很相似,当扩充了好多的方法。ios8之后才推出的

你所需要的:

一个判断版本的宏命令

#define IOS_NEWER_OR_EQUAL_TO_8 ( [ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] >=8.0)

一个引入头文件

#import

协议

WKNavigationDelegate,WKUIDelegate

使用

if(nil!= mode.webUrl) {

NSURL*url = [NSURLURLWithString:mode.webUrl];

NSURLRequest*request = [NSURLRequestrequestWithURL:url];

if(IOS_NEWER_OR_EQUAL_TO_8) {

[_wkWebViewloadRequest:request];

return;

}

[_webVloadRequest:request];

}




    五一之前就想记录一下webView内存消耗的问题,一直拖到现在,倍感惭愧。

    主要发现这个问题是因为我们公司的APP中要打开一些视频网站的网页,我Run起来看了看内存开销,模拟器直飚200M,真机也有一百多,挺吓人的,就一个界面,而且页面注销以后,内存不会释放。好吓人有没有。

发现问题出现的原因主要有:

第一:苹果webView的性能一直没有被重点优化,现在页面中的很多元素和js都不会被加载完立刻释放

第二:使用webView加载页面,一些js交互会造成内存泄露,无奈

第三:网页上如果有视频模块很消耗资源,-》废话。

网上有有些基于webView的修改方法,但是效果都因人而已。嗯 ,我只能说因人而异了,没有最优的解决方法,比如初始化的时候,设置webview的内存申请和设置界面小时的时候,手动移除内存(亲测,不一定有用),但有个关于js的内存泄露修补可以试下。

你可能感兴趣的:(关于WKWebView的使用)