H5 WebView热更新策略

背景介绍

本文介绍了一种嵌入到原生客户端(安卓和IOS)中的H5页面中资源热更新策略。

通常使用WebView技术将H5页面嵌入到原生客户端中,作为二级页面,以此来提高开发效率。但由此带来的一个问题就是:如何向H5页面传递信息。

常见的作法有两种:1. 通过在js全局对象上注入方法的方式;2. 原生打开H5页面的时候通过cookie传递消息。

这两种做法各有利弊:

  • 注入js方法的方式可以携带较大的数据量,但是缺点在于: 1. 注入需要时间;2. 传递的数据量超过限制之后会导致App闪退;
  • 通过cookie的方式克服了注入等待时间的缺点,但是cookie能够携带的数据量比较小,不能作为大量数据传递的途径。

解决方案

笔者在工作实践中采用的方式是:cookie+时间戳的方式;通过cookie不传递信息,而是传递信息是否更新的时间戳;通过和本地保存的时间戳进行对比,可以判断出本地保存的信息是否过期,如果过期,再由H5向后端请求数据。

下面是国际化资源热更新的流程图,从中清晰的体现出资源热更新的策略:

相关推荐
mmsx8 分钟前
osmdroid 自定义地图视图:继承 MapView 的正确姿势与生命周期管理
android·osmdroid
Daniel_Coder1 小时前
我用 SwiftUI + GRDB 做了一个「按时吃药·服药提醒」App
ios·swiftui·swift·widgetkit
ii_best1 小时前
移动开发工具按键精灵安卓版 OcrEx 识别总是漏字错字?改这一个参数,精度直接翻倍
android·ai编程·按键精灵
chjif2 小时前
Android 设备管控开发实战:自定义 Launcher 如何只显示指定 App?
android·kotlin
Dovis(誓平步青云)3 小时前
模拟器横评:电脑上看小说、追短剧用什么模拟器?MuMu、雷电、腾讯手游助手实测
android·java·服务器·前端·javascript·电脑
非凡ghost3 小时前
用 Kotlin 和 Jetpack Compose 重写的安卓视频播放器,原生体验有多流畅?
android·java·kotlin·音视频·软件需求
Patrick_Wilson3 小时前
iOS 第三方浏览器图片下载失败问题
前端·ios·浏览器
峥嵘life3 小时前
Android16 系统 APEX 模块调试总结
android·大数据·开发语言
亘元有量-流量变现3 小时前
2026安卓ASO增量攻略:摆脱iOS思维依赖,吃透多商店自然免费流量
android·aso优化·亘元有量·方糖试玩