深井冰_01
深井冰_01
  • 发布:2016-02-23 17:20
  • 更新:2020-10-08 06:35
  • 阅读:11512

流应用更新方式说明

分类:流应用

传统原生App的更新是要经历较长时间的下载和安装过程的。
所以很多用户干脆不更新app,任由更新角标放着。

流应用下没有这些问题,用户无需触发更新操作,总能使用到最新版。
流应用不需要平时在后台处理更新,而是在启动流应用时进行更新检查。

流应用除了能流式下载,自然也能流式更新,并且这种更新是差量更新。
如果你的app工程里有100个文件,其中5个文件变化了,那么流应用平台会自动识别并只更新这5个文件。

当流应用启动时,会向流应用服务器发起更新检测请求,如果服务器版本有更新则会下载更新包(使用差量更新技术),更新包下载完成后则执行更新操作。

流应用有多种更新模式可选。
开发者在HBuilder里提交流应用时,可以配置更新模式,不同的更新模式有不同的效果。

HBuilder里更新流应用时,可以选择更新模式:

默认模式(Android平台提示用户是否重启升级,iOS平台不提示,下次启动升级)

应用升级时弹出提示框,5秒后自动关闭,效果如下:

顶部“重启”、“忽略”按钮点击后的作用如下:

  • 重启:立即更新应用并重启生效。
  • 忽略:不立即更新应用(此时仍然使用老版本),下次启动应用时自动更新。

实时更新当前应用

启动时检查到需要更新,立即更新应用,但是已经打开的html页面不会更新。
采用此模式应该注意以下问题:

  1. 应用已经打开页面不会更新,由于更新文件从网络下载,从而导致更新时机的不确定性,此时无法确定当前用户操作到具体的页面;
  2. 应用已经加载过的资源存在缓存,更新后无法立即生效,如js/css等,此时还是使用更新前内容;
  3. 新版本应用更新需删除老版本文件,可能导致老版本业务逻辑无法继续运行;
  4. 新版本应用更新中JS业务逻辑包含重大调整,可能会出现应用无法预期的状态(如新版本某些页面的js逻辑是认为首页一定会做某些操作,而旧版本首页如果没有这些操作,从而会进入不可预期的状态)。
    这种更新模式虽然注意事项很多,但有2个适应场景:
  5. 静态资源更新,即文字图片等非js逻辑,可以立即生效的体验要比重启生效更好。
  6. 追究极致的高级开发者在经过仔细测试后,也可更新js等逻辑。

3 关注 分享
Trust 3***@qq.com 三月

要回复文章请先登录注册

5***@qq.com

5***@qq.com

显示连接服务器失败
2020-10-08 06:35
5***@qq.com

5***@qq.com

流应用发布不了
2020-10-08 06:34
4***@qq.com

4***@qq.com

意思是用户必须安装流应用吗
2018-01-25 16:33
x7890

x7890

这个“是否立即重启”最好改成“是否立即重启该应用”,以免误解。
2017-04-11 23:31
y***@163.com

y***@163.com

很好,这是我一直崇尚的更新理念
2016-08-23 17:30
炭烧红豆奶茶

炭烧红豆奶茶

。。。。。。。。。。。。。。。
2016-02-23 17:42