当前位置:   article > 正文

IOS 学习笔记 WebView_wkwebview内存上限是多大

wkwebview内存上限是多大

通过WebView加载网页展示效果图:

目录

WKWebView

WKWebView的使用

1.1 WKWebView加载网络数据

1.1.1 WKWebView使用报错问题

1.1.2  两种方式实现WKWebView布局

1.2 WKWebView加载本地数据

1.2.1 使用loadHTMLString加载本地html页面

1.2.2 协议的的回调函数不调用问题

1.2.3 使用loadData加载本地html页面


WKWebView

移动端目前对于H5的使用越来越广泛了,随着5G时代的到来,网络提速,WebView在移动端的使用只会更加多。Android端使用WebView这个控件加载HTML+CSS+JS,IOS类似,目前使用的是WKWebView,之前UIWebView目前已经过时了,UIWebView在使用过程中对于内存开销比较大,而且加载速度也存在问题,WKWebView替代了UIWebView解决了这两个问题。

WKWebView内存占用23M,而UIWebView内存占用85M;允许JavaScript的Nitro库加载并使用(UIWebView中限制);支持了更多的H5特性;支持高达60fps的滚动刷新率以及内置手势;

 

WKWebView的使用

WKWebView加载的内容可以是网络资源也可以是本地的html页面。

 

1.1 WKWebView加载网络数据

WKWebView网络数据的加载可以调用loadRequest函数,如下:

- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;

布局如下图,红色矩形框是WKWebView,当点击“加载网络数据”Button的时候显示简述的界面:

 

1.1.1 WKWebView使用报错问题

在学习的过程中遇到一个比较坑的问题,如下

通过故事板拖拽布局一个WKWebview,两个UIButton,然后拖拽通过Outlets在ViewController中自动生成属性变量mWebView、localButton和netButtton,给netButtton这个按钮添加一个事件,在事件调用的函数中使用loadRequest加载网页,运行代码直接报错无法进入应用,错误信息如下:

  1. 2019-04-16 20:31:11.810262+0800 WebView[24662:890526] libMobileGestalt MobileGestalt.c:890: MGIsDeviceOneOfType is not supported on this platform.
  2. 2019-04-16 20:31:11.881966+0800 WebView[24662:890526] *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named WKWebView'
  3. *** First throw call stack:
  4. (
  5. 0 CoreFoundation 0x000000010c8ce1bb
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/109519
推荐阅读
相关标签
  

闽ICP备14008679号