如果先断网,加载WKWebView后,页面出现空白;然后再连网,点击按钮后不刷新WKWebView,页面还是一片空白。
使用
[weakSelf.wkweb reload];
方法刷新,急速切换网络会导致wkwebview刷新无效。
使用
[self.wkweb loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:self.targetUrl]]];
重新request。
首先保证 要加载的url存在
WKWebView
虽好,但
白屏
问题也很苦恼,下面分享一下自己解决问题的过程。
公司项目使用Cordova框架,做原生项目嵌入H5,业务复杂了以后,H5资源也越来越大,占用内存越来越多,加载也越来越慢,直到做热更新时候,遇到了
白屏
问题。
第一步:有说
白屏
时候回调webViewWebContentProcessDidTerminate方法,那就加上吧:
- (void)webViewWebContentProcessDidTerminate:(
WKWebView
*)webView {
我们app从ReactNative转H5app,在开发过程中发现一个顽固性问题。点击H5的tabbar或者页面之间点击跳转会偶现
白屏
问题。或者app退到后台一段时间唤醒app会出现
白屏
。
白屏
原因:
WKWebView
是一个多进程组件,Network Loading以及UI Rendering在其它进程中执行。所以UIWebView上当内存占用太大的时候,App Process会crash;而...
自ios8推出
wkwebview
以来,极大改善了网页加载速度及内存泄漏问题,逐渐全面取代笨重的UIWebview。尽管高性能、高
刷新
的
WKWebview
在混合开发中大放异彩表现优异,但加载网页过程中出现异常
白屏
的现象却仍然屡见不鲜,且现有的api协议处理捕捉不到这种异常case,造成用户无用等待体验很差。
针对业务场景需求,实现加载
白屏
检测。考虑采用字节跳动团队提出的webview优化技术方案。在合适的加载时机对当前webview...
公司的一个iOS app登录界面是原生开发,登录成功后打开一个webview加载web页面。第二次登录就看是否保存了token,如果有就直接打开webview加载。但是测试反应登录后在后台放一段时间,重新打开有一定几率出现
白屏
。
调试发现打开后,webview显示已经加载完成,只是内容什么都没有。
首先考虑缓存问题,在应用初始化时,清除webview的缓存。
- (void)clean
WKWebView
{
NSArray *types = @[WKWebsiteDataTypeMe
WKWebView
问题
32 位的app在使用
WKWebView
的时候,如果运行在64位的设备上,会出现一下问题:
(1)iOS8.1 系统,部分网页加载
白屏
,例如 百度,iOS8.3 似乎没问题
(2)web输入框输入汉字也会出现
白屏
通过搜索得到问题根源:
WKWebView
’s WebProcess runs out-of-process as a 64-bit process on hardware supporting 64bit. There is a 32bit/64bit marshalling IPC bug for 32 bit apps using the WKWebV
白屏
是webview进程终止之后的表现,在webview因异常使用内存、CPU等资源时,webkit会终止当前m页展示的进程,在用户端表现为白页。
第一、webview的进程被终止的原因有哪些?
ProcessTerminationReason {
ExceededMemoryLimit,//超出内存限制
ExceededCPULimit,//超出CPU限制
之前误以为webview
刷新
URL只是将URL再次拼接然后重新loadRequest,后来发现重新拼接去loadRequest的话,
刷新
之前的页面还在,返回的时候还会再返回一次。
事实证明这种
刷新
方式是不对的,正确的方式是通知前端,由前端来做这个
刷新
。
具体js交互的方法please自行百度。
转载于:https://www.cnblogs.com/wzl666/p/9555448.html...