【问题标题】:Save the state of a WKWebView (iOS)保存 WKWebView (iOS) 的状态
【发布时间】:2017-07-01 01:49:34
【问题描述】:

我目前正在开发一个应用程序,该应用程序将同时运行多个 WKWebViews,想想浏览器中的选项卡,但似乎如果我有大约 5 个 WKWebView 实例在运行,至少其中一个实例会变为空白并且在某些时候显示白屏。我确信这与在后台进行的一些我无法控制的内存管理有关。

我的问题是:如果我想在切换屏幕之间保存WKWebView 的状态,我该怎么做?

我最初的想法是将HTMLCSSJavaScript 保存到某种本地存储中,并在完全重新加载页面之前使用“缓存”内存重新加载页面。

我一直在查看 Chrome 的开源项目,似乎他们正在使用 Objective-C++ 做一些事情,但我不知道为什么。

如果有人对此有任何想法或知识,将不胜感激,谢谢!

【问题讨论】:

    标签: ios memory wkwebview


    【解决方案1】:

    你的问题不够清楚,总之我给你一些建议, 即使您在 5 个 WKWebviews 之间切换,它们的状态也将保持不变,因此无需手动保存状态。

    关于加载时的普通网页问题:

    实施,

    - (void)webView:(WKWebView *)webView 
    didFailProvisionalNavigation:(WKNavigation *)navigation 
          withError:(NSError *)error;
    

    在此方法中,只要加载失败,就重新加载 webview。

    【讨论】:

    • 谢谢我确实实现了这样的东西,它的工作原理并不像我希望的那么流畅,我想我会尝试在离开页面时捕获屏幕截图,并在显示时显示它如果需要,它也会重新加载。感谢您的回答!
    • 但是如果我想更深入地管理自己的记忆怎么办,你能指出我正确的方向吗?
    猜你喜欢
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    相关资源
    最近更新 更多