加速WHTWebView渲染loadHTMLString-d内容的策略?

Ala*_*air 13 uiwebview ios wkwebview

我一直在尝试在UINavigationController中堆叠WKWebViews,作为制作比PhoneGap更原生的混合应用程序的方法.它广泛使用 - 当WKWebView访问链接时我挂钩到decisionPolicyForNavigationAction,并推送一个新的ViewController及其想要的链接.

但页面加载速度很慢.我已经做了我能想到的所有事情来加速它 - 它使用loadHTMLString而不是确保一切都是本地的请求 - 我甚至尝试剥离CSS和JS,看看是否加快了速度,但没有骰子.对于一个简短的,仅限HTML,本地存储的页面,它仍然需要至少500毫秒才能显示在空的WKWebView中.我可以从调试中看出延迟不是从磁盘读取HTML,而是在loadHTMLString()和didFinishNavigation()之间的时间.

有没有人有任何解决这个问题的策略?我试着预加载视图,只是我不知道用户要点击哪个链接所以我不知道要预加载什么.

Ala*_*air 3

临时答案 - 我在提前创建下一个视图方面取得了一些成功,然后用于evaluateJavaScript运行document.body.innerHTML = "content"- 它没有半秒的延迟。当然,这意味着比我更早地创建 WKWebview,但希望这不会成为性能杀手。