WKWebView白屏问题

WKWebView自诩拥有更多的加载速度,更低的内存占用,但实际上WKWebView是一个多进程组件,Network Loading以及UI Rendering在其他进程中执行。初次适配WKWebView的时候,我们也惊讶于打开WebView后,app进程内存消耗反而大幅下降,但是仔细观察会发现,orther process的内存占用会增加。在一些用webGL渲染的复杂页面,使用WKWebView总体的内存占用(app process memory + other process memory)不见得比UIWebView少很多,在UIWebView上内存占用比较大的时候,webContent process 会 crash,从而出现白屏现象。

解决方案:

1.借助WKNavigtionDelegate

ios9之后WKNavigtionDelegate新增了一个回调函数:

/*! @abstract Invoked when the web view's web content process is terminated.@param webView The web view whose underlying web content process was terminated.*/
- (void)webViewWebContentProcessDidTerminate:(WKWebView *)webView API_AVAILABLE(macos(10.11), ios(9.0));

在回调函数中重新reload webView即可。

2.检测webView.title是否为空

并不是所有页面白屏都会调用这个回调函数(比如 webContent process被系统挂起),在WKWebView白屏的时候,另一种现象是webView.title会被置空,因此可以通过监听webView的title属性来检测。

WKWebView白屏问题相关推荐

  1. WKWebView 白屏问题

    1.WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebView 是一个多进程组件,Network Loading 以及 UI Rendering 在其它进程中执行.初次适 ...

  2. webview加载页面有2秒白屏_iOS WKWebview 白屏检测实现

    前言 自ios8推出wkwebview以来,极大改善了网页加载速度及内存泄漏问题,逐渐全面取代笨重的UIWebview.尽管高性能.高刷新的WKWebview在混合开发中大放异彩表现优异,但加载网页过 ...

  3. 深入理解WKWebView白屏

    白屏是webview进程终止之后的表现,在webview因异常使用内存.CPU等资源时,webkit会终止当前m页展示的进程,在用户端表现为白页. 第一.webview的进程被终止的原因有哪些? Pr ...

  4. iOS开发~WKWebView白屏适配

    WKWebView虽好,但白屏问题也很苦恼,下面分享一下自己解决问题的过程. 公司项目使用Cordova框架,做原生项目嵌入H5,业务复杂了以后,H5资源也越来越大,占用内存越来越多,加载也越来越慢, ...

  5. WKwebview 白屏问题——(WebApp/HybirdApp)

    我们app从ReactNative转H5app,在开发过程中发现一个顽固性问题.点击H5的tabbar或者页面之间点击跳转会偶现白屏问题.或者app退到后台一段时间唤醒app会出现白屏. 白屏原因: ...

  6. iOS WKWebView白屏检测演进方案记录

    网上查到的方案 typedef NS_ENUM(NSUInteger,webviewLoadingStatus) {WebViewNormalStatus = 0, //正常WebViewErrorS ...

  7. 前端白屏问题_小程序白屏问题和内存解决方法

    1 关于WKWebview白屏,网上罗列的常见原因大致有以下几种: 1.内存占用比较大时,WebContent Process 会 crash,从而出现白屏现象. 2.URL网址无效或者含有中文字符. ...

  8. uniapp 云打包后IOS白屏,真机调试也是白屏,没有报错!解决办法

    uniapp 云打包后IOS白屏,真机调试也是白屏,没有报错!解决办法! 原来用uniapp 写的小程序 然后要翻成app 一开始还是很顺利的,因为安卓端测试 没有什么大问题:但是IOS直接白屏,只能 ...

  9. wkwebview 在iOS10以下系统显示白屏问题

    打了测试环境的包,在iOS11系统上任何wkwebview界面显示都没有什么问题,但是到了iOS10的系统上,或者iOS9的系统上都显示白屏,遇到不配和你调试的H5,你想把他撕吧撕吧喂鹰的心都有了,但 ...

最新文章

  1. VCL标准化皮肤组件Alphacontrols发布v10.27
  2. Node.js中文件上传与multer模块的应用
  3. python掌握程度怎么判断-Python学到什么程度可以面试工作?
  4. [POJ3253]Fence Repair
  5. 计算机的主要危害是什么意思,cpu使用率是什么意思 cpu使用率低但是电脑卡原因...
  6. MySQL MHA配置常见问题
  7. 色彩的狂欢:看嘎玛·多吉次仁的画展
  8. 红橙Darren视频笔记 view的绘制流程(上) onMeasure测量代码分析 基于API27
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的客户关系管理系统
  10. CentOS 修改主机名(host)
  11. 每日算法系列【LeetCode 684】冗余连接
  12. 极客大学架构师训练营 框架开发 第三次作业
  13. Palabos源码:computeEquilibrium(iPop, rhoBar, j, jSqr)的过程
  14. ElasticSearch分布式架构原理
  15. 欧美顶尖大学是如何使用大数据的?
  16. 音乐格式转换软件测试工资,无损音乐如何转换 无损音乐格式转换 无损音乐转换器...
  17. Nebula Graph - 全文索引
  18. OpenHarmony开源鸿蒙学习入门-应用开发之使用eTS语法示例项目讲解
  19. python英文分词库_Python中文分词库jieba,pkusegwg性能准确度比较
  20. 解决插件在IE增强保护模式下无法运行的问题

热门文章

  1. Matlab 指定分辨率保存图片
  2. 在《王者荣耀》来聊聊游戏的帧同步
  3. vue-tools---谷歌扩展程序安装
  4. linux给PATH添加变量,给PATH变量添加路径--用Enki学Linux系列(6)
  5. 深度学习优化算法的总结与梳理(从 SGD 到 AdamW 原理和代码解读)
  6. GPU服务器的上手使用-小试牛刀
  7. VUE+ECharts 制作饼图
  8. Android-Activity生命周期、广播接收者、服务
  9. Vue前端实现微信扫码登录
  10. 微软常用运行库合集(3264位)