iOS UIWebView与WKWebView 那些事

编程入门 行业动态 更新时间:2024-10-12 20:25:50

<a href=https://www.elefans.com/category/jswz/34/1770014.html style=iOS UIWebView与WKWebView 那些事"/>

iOS UIWebView与WKWebView 那些事

一、前言介绍

UIWebViewiOS 2 中推出的网页容器,UIWebView是最占内存的控件;直到 iOS 8 以后,苹果推出了 WebKit 框架,其中 WKWebView 正式被推出来接替 UIWebView 的位置;iOS 12 中,苹果正式弃用 UIWebView,要求开发者用 WKWebView 全面替换 UIWebView,apple 官方文档

二、特点对比

UIWebView 特点:

  • 1、加载速度慢
  • 2、内存占用大,App停留在后台很容易被系统杀死
  • 3、原生容器完全不带进度条,需要自定义开发

WKWebView 特点:

  • 1、在性能、稳定性、功能方面有很大提升(最直观的提升就是加载网页是占用的内存很少,测试加载不同网页其内存性能提升3倍到4倍,而且没有缓存)
  • 2、允许JavaScript的Nitro库加载并使用(UIWebView中限制)
  • 3、支持更多的 HTML5 特性
  • 4、与 Safari 具有相同的 JavaScript 引擎

三、能力提供

a、加载能力
  • UIWebView不仅可以加载 HTML 页面,还支持 pdf、word、txt 以及各种图片的显示;
  • 相比 UIWebView 而言,WKWebView 也支持各种文件格式,并新增了加载本地文件,即新增了 LoadFileURL 函数。

1.1 UIWebView加载网页请求

- (void)loadRequest:(NSURLRequest *)request;

1.2 WKWebView加载网页请求

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

2.1 UIWebView加载HTML

- (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;

2.2 WKWebView加载HTML

- (nullable WKNavigation *)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;

3.1 UIWebView加载文件,并指定 MIME 类型和编码类型

- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;

3.2 WKWebView加载文件,并指定 MIME 类型和编码类型

- (nullable WKNavigation *)loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL;

4 WKWebView加载本地文件,UIWebView做不到

- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL
b、导航刷新相关
UIWebView 网页导航相关WKWebView 网页导航相关说明
canGoBack

更多推荐

iOS UIWebView与WKWebView 那些事

本文发布于:2023-12-06 07:24:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1666862.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:iOS   UIWebView   WKWebView

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!