跳到主要内容

HTML5 离线化

离线包类型

  • 全局离线包: 包含公共的资源,可供多个应用共同使用
  • 私有离线包: 只可以被某个应用单独使用

架构

加载全局包

查找本地是否有离线包

如果本地没有离线包,会触发包下载,确认本地和线上版本一致

有的话解包到内存

离线包下载

  • 如果用户处于移动网络,不会在后台下载离线包
  • 如果当前用户点击 app,离线包没有下载好,用户需要等待离线包下载好才能用

离线包运行模式

  • 请求包信息
    • 从服务端请求离线包信息存储到本地数据库的过程。
    • 离线包信息包括离线包的下载地址,版本号,加密/签名信息等
    • 下载离线包:把离线包从服务端下载到手机
    • 安装离线包:下载目录,拷贝到手机安装目录

大厂离线包方案

  • 美团: LsLoader
  • 腾讯:Alloykit- 手 Q 离线包
  • 阿里:极致的 Hybrid