美文网首页
iOS 开发为何要用WKWebView代替UIWebview

iOS 开发为何要用WKWebView代替UIWebview

作者: pengshuangta | 来源:发表于2017-12-11 14:07 被阅读13次

    1、背景:一家项目合作公司,在调用我方提供的网页URL时,由于调用多次网页跳转,导致内存暴涨,app闪退问题。

    2、问题排查:该公司使用的是UIWebView来加载网页,建议替换使用WKWebview。

    3、亲测:通过使用UIWebview和WKWebView来加载百度(https:www//baidu.com),查看两种方式的app的内存使用情况如图(测试条件同样在模拟器iPhone 7下):

    (1)UIWebView方式:

    (2)WKWebView方式:

    5、反思:了解WKWebView的新特性:

    在WWDC2014中,苹果推出了最新的iOS8系统,全新的WebKit中更新的WKWebView控件的新特性与使用方法,它很好的解决了UIWebView存在的内存、加载速度等诸多问题。

    新特性:新特性参考链接

    (1)在性能、稳定性、功能方面有很大提升(最直观的体现就是上面截图所示的内存使用情况WK是:45M左右,Web是:123M左右);

    (2)允许JavaScript的Nitro库加载并使用(UIWebView中限制);

    (3)支持了更多的HTML5特性;

    (4)高达60fps的滚动刷新率以及内置手势;

    (5)将UIWebViewDelegate与UIWebView重构成了14类与3个协议(查看苹果官方文档)(三个协议:WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler)。

    6、问题的研究需要借鉴多方意见,参考的文章有如下:

    (1)参考链接

    WKWebView与JS交互的第三方框架:WKWebViewJavascriptBridge;

    github地址:https://github.com/marcuswestin/WebViewJavascriptBridge

    (2)参考链接

    相关文章

      网友评论

          本文标题:iOS 开发为何要用WKWebView代替UIWebview

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