V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
santree
V2EX  ›  前端开发

[提问] 关于 android 和 ios webview 的一点小问题

  •  
  •   santree · 2023-12-01 13:52:52 +08:00 · 1012 次点击
    这是一个创建于 392 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    作为一个不算程序员的前端,在调查一个 hybrid 应用性能问题的时候发现:为了保证交互和体验效果 hybrid 应用通常通过 jsBridge 去打开一个新的 webview 去承载新的页面,虽然共用了缓存保证每次打开新页面需要加载的内容能走缓存的都走了缓存,但是加载的资源(js)还是需要编译和执行的,这在这整个应用有 n 个巨大的脚本文件时会影响加载性能(单页应用)。

    问题

    在原生中有什么方法可以让新打开的 webview 能从上一个 webview 继承已经加载的所有内容吗,我期望有这样的能力去从已有的 webview 实例上去 clone 生成新的 webivew 再去执行加载新页面的工作从而避免每次打开新页面需要重新编译执行公用 js 文件。

    限制

    1. 无法去改变现有多个巨大 vendors 的现状,这是公司内部架构决定的。
    2. 最好能使用多 webview ,保证在一个 webview 情况下加载页面的模式不符合 UE 预期。
    2 条回复    2023-12-01 14:06:08 +08:00
    passon
        1
    passon  
       2023-12-01 13:56:57 +08:00
    webview 有缓存的吧。上个页面加载过的 js ,新页面会直接用缓存好的 js
    santree
        2
    santree  
    OP
       2023-12-01 14:06:08 +08:00
    @passon 我理解应该只是资源缓存,表现形式是不用通过网络协议重新请求传输,但是还是需要走执行 js 流程。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2090 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 00:50 · PVG 08:50 · LAX 16:50 · JFK 19:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.