我目前正在开发一个同时运行多个WKWebViews
的应用程序,想一想浏览器中的选项卡,但是如果我有大约5个WKWebView
实例运行至少其中一个将变为空白并在某个时刻显示白色屏幕。我确信这与在我无法控制的后台进行的一些内存管理有关。
我的问题是:如果我想在切换屏幕之间保存WKWebView
的状态,我该怎么做呢?
我最初的想法是将HTML
,CSS
和JavaScript
保存到某种本地存储空间,并使用" cached"重新加载页面。在完全重新加载页面之前的内存。
我一直在关注Chrome的开源项目,看起来他们正在使用Objective-C ++,但我不确定原因。
如果有人对此有任何想法或知识,我们将不胜感激,谢谢!
答案 0 :(得分:1)
你的问题不够明确,无论如何让我给你一些建议, 即使你在5个WKWebviews之间切换,它们的状态也会保持不变,所以不需要手动保存状态。
关于普通网页加载时的问题:
实施,
- (void)webView:(WKWebView *)webView
didFailProvisionalNavigation:(WKNavigation *)navigation
withError:(NSError *)error;
在此方法内部,只要加载失败,就会重新加载webview。