H5离线包的加载优化

一般对于H5加载优化,最有效的就是离线包了。 那用了离线包之后呢? 还有优化空间吗?

考虑到 WKWebView 运行都是在独立进程,跟当前 App 交互都要进行 IPC(跨进程通信),代价还是比较高的。

而之前的 H5离线包方案 :

User => load HTML file => (IPC) => WebView Action => (IPC) => callback load finished 
=> execute js code input api cache => (IPC) => WebView Action => Render。

至少要经过3次 跨进程通信。

后续想了个方案, 当我们下载完 离线包之后, 在对应目录下 生成一个JS代码文件(规定前端进行相对路径引用)

比如前端这样写:
<script src='./api-data/client.js'/>

当客户端要打开这个页面之前, 在相对路径下 生成JS代码文件


代码内容如下:

window.meiyou_api_data = {
    'querys' : { 参数 },
    'api-cache' : { 接口返回数据 }
};


这样在 load html file 时,前端就获取到接口缓存数据了, 不必要后续的两次 IPC 通信。

大家后续可以考虑下 两个问题:

  1. 可能会同时打开多个页面,怎么保证不污染其他页面
  2. 为啥后续 我们又放弃了这个方案。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注:本篇研究重点不在于某个离线方案的具体使用,而在于对方案的优缺点分析、探究和选型,以及一些我个人的看法。 前言 ...
    LotLewis阅读 10,216评论 7 16
  • WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨...
    Aiana阅读 4,655评论 1 8
  • 背景 为了快递迭代、更新,公司app有一大模块功能使用H5实现,但是体验比原生差,这就衍生了如何提高H5加载速度,...
    edison0428阅读 984评论 0 1
  • 文/经年雪白 爸爸:儿子你觉得爸爸壮吗?儿子:嗯。 爸爸:你觉得少林功夫厉害吗?儿子:厉害。 爸爸:如果我剃成光头...
    经年雪白阅读 321评论 0 4
  • 如果我们遇到的再晚一点就好了。 如果再晚一点的话,你刚好的成熟,我恰到好处的体贴与温柔,那说不定我们也许真的走到最...
    i潘哥i阅读 288评论 0 0