本文介绍: WKWebView 继 UIWebView 之后的 Web 组件,拥有更佳的渲染效率,加载更快内存占用也更低,但渲染页面的时候可能出现白屏的情况.UIWebView 遇到占用内存较高的情况下会导致 App Process 的 crash;WKWebView 遇到占用内存较高的情况下会导致 WebContentProcess 的 crash;两者总体内存占用情况相差并不太多,不过 WKWebView 将其一部分内存的消耗通过多进程的方式拆解执行;可以基于 WKWebView 这项 webViewWe
WKWebView 继 UIWebView 之后的 Web 组件,拥有更佳的渲染效率,加载更快内存占用也更低,但渲染页面的时候可能出现白屏的情况.
UIWebView 遇到占用内存较高的情况下会导致 App Process 的 crash;
WKWebView 遇到占用内存较高的情况下会导致 WebContentProcess 的 crash;
两者总体内存占用情况相差并不太多,不过 WKWebView 将其一部分内存的消耗通过多进程的方式拆解执行;
可以基于 WKWebView 这项 webViewWebContentProcessDidTerminate 的代理方法进行白屏的处理,当其整体内存占用较大即将出现白屏的情况下调用其方法并执行重新加载的操作.此时的 URL 还未被置为 nil,而白屏后则会丢失其 URL.
- (void)webViewWebContentProcessDidTerminate:(WKWebView *)webView { // 内存消耗较大导致当前所加载的 webView 出现白屏状况
[webView reload]; // 刷刷刷它的
}
除此之外还遇到了同样存在白屏可能的情况,初始化 WKWebView 时未预先设置与JS的通信桥协议,具体如下
[wkConfig.userContentController addScriptMessageHandler:self name:@"WebCallApp"];
目前开发中暂时遇到了这两种可能性会导致白屏的情况出现,可供大家参考排查.
原文地址:https://blog.csdn.net/survivorsfyh/article/details/124960789
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_38740.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。