我一直在尝试在 UINavigationController 中堆叠 WKWebViews 作为制作比 PhoneGap 更原生的混合应用程序的方法。它广泛适用 - 当 WKWebView 命中链接时,我会连接到 decisionPolicyForNavigationAction,并使用它想要的链接推送一个新的 ViewController。
但是页面加载很慢。我已经做了我能想到的一切来加速它——它使用 loadHTMLString 而不是请求来确保一切都是本地的——我什至尝试去掉 CSS 和 JS 以查看是否可以加快速度,但没有骰子。一个短的、仅 HTML 的、本地存储的页面仍然需要至少 500 毫秒才能出现在空的 WKWebView 中。我可以从调试中看出延迟不是从磁盘读取 HTML,而是 loadHTMLString() 和 didFinishNavigation() 之间的时间。
有没有人有任何解决这个问题的策略?我会尝试预加载视图,只是我不知道用户要点击哪个链接,所以我不知道要预加载什么。