5 历史狂粉 3周前 198次点击
爱说笑的那种更新模式我也没看懂,它呢好像全程是必须要联网的,如果把 WiFi 一关,软件就用不成,给我自动弹到登录界面了。还有,爱说笑好像几乎不需要频繁手动下载安装包,每一次几乎都是云端会提示你正在下载资源,等下载完之后,只要不把软件的数据清除,好像云端的最新资源都能用,除非把软件数据清除,才需要手动下载,这种模式是怎样的?而且全程本地化几乎被拦截,不让用。感觉这样做最安全,因为全程本地模式被拦到外,而且还是要求强制更新,不更新还不行。这种软件开发我有点没看懂是怎么一回事。
那以前是怎样的?好像我这个5.2.3的爱说笑还是去年11月份的时候更新的。
积分:44265
这种机制叫热更新。
给你举个比较形象的例子,假设你用乐高拼出了一个东西。比如说你拼成了一个汽车,这个时候你想给汽车加个车灯,你只需要在这个汽车的原基础上随便插几块积木就行了。同理,你想加一节车厢,根本不用改变原汽车的结构,你只需要在汽车上面再插几块积木就行了。
如果你一个不小心把组成汽车的积木全拆了,这等价于软件上的清除数据,那你要想再拥有以前的汽车,你肯定还要装回来,这就相当于重新下载。
而在真实的热更新领域,首先这个软件需要有一个壳。这个壳用来加载软件内的逻辑脚本,同时这个壳还会给脚本提供一些必要的服务,比如访问音频或者访问文件之类的。
假设要有一个新功能的更新,我们只需要修改更新功能的脚本,并把它的版本号抬高。这个时候远程的软件连接到你的服务器。检测到了新的资源更新,便会下载新的脚本,下载完成之后,必须重新应用这些脚本,所以重启一下就可以了。
因为下载的只是变化的,也就是出现功能更新的脚本,所以它的下载量是很少的,也不用下载整个软件,这跟前面拼积木是很像的。
如果你想了解更多的话,可以去搜一下热更新的原理。