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

2023-12-01 13:52:52 +08:00
santree  santree

前言

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

问题

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

限制

  1. 无法去改变现有多个巨大 vendors 的现状,这是公司内部架构决定的。
  2. 最好能使用多 webview ,保证在一个 webview 情况下加载页面的模式不符合 UE 预期。
1094 次点击
所在节点   前端开发  前端开发
2 条回复
passon
passon
2023-12-01 13:56:57 +08:00
webview 有缓存的吧。上个页面加载过的 js ,新页面会直接用缓存好的 js
santree
santree
2023-12-01 14:06:08 +08:00
@passon 我理解应该只是资源缓存,表现形式是不用通过网络协议重新请求传输,但是还是需要走执行 js 流程。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/996824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX