银河娱乐网平台

新闻动态
技术中心
技术中心
当前位置:银河娱乐网平台 >> 服务支持 >> 技术中心 >> 浏览文章
漫谈Android 增量更新
作者:研发部小赵 日期:2016年11月07日 来源:本站原创 浏览:

内容导读:    在前几年,整体移动网络环境相比现在差很多,加之流量费用又相对较高,因此每当我们发布新版本的时候,一些用户升级并不是很积极,这就造成了新版本的升级率并不高。而google为了解决了这个问题,提出了Smart App Upda
    在前几年,整体移动网络环境相比现在差很多,加之流量费用又相对较高,因此每当我们发布新版本的时候,一些用户升级并不是很积极,这就造成了新版本的升级率并不高。而google为了解决了这个问题,提出了Smart App Update,即增量更新(也叫做差分升级)。
    尽管现在网络环境有了很大的提升,但一个不争的事实就是应用越做越大,因此,增量更新在目前的仍然是一种解决APP更新包过大的有效方案。今天,我们就来聊聊增量更新。
________________________________________
什么是增量更新?
    增量更新的关键在于如何理解增量一词。来想想平时我们的开发过程,往往都是今天在昨天的基础上修改一些代码,app的更新也是类似的:往往都是在旧版本的app上进行修改。这样看来,增量更新就是原有app的基础上只更新发生变化的地方,其余保持原样。
    与原来每次更新都要下载完整apk包的做法相比,这样做的好处显而易见:每次变化的地方总是比较少,因此更新包的体积就会小很多。比如“师父说”安装包的体积在6m左右,如果不采用增量更新,用户每次更新都需要下载大约6m左右的安装包,而采用增量更新这种方案之后每次只需要下载2m左右的更新包即可,相比原来做法大大减少了用户下载等待的时间。
________________________________________
增量更新的原理
    增量更新的原理非常简单,简单的说就是通过某种算法找出新版本和旧版本不一样的地方(这个过程也叫做差分),然后将不一样的地方抽取出来形成所谓的更新补丁(patch),也称之为差分包。客户端在检测到更新的时候,只需要下载差分包到本地,然后将差分包合并至本地的安装包,形成新版本的安装包,文件校验通过后再执行安装即可。本地的安装包通过提取当前已安装应用的apk得到。
________________________________________
增量更新的缺点
    增量更新虽让有效的解决了更新包过大的问题,但是存在以下几点问题:
    1.客户端和服务端需要加入相应的支持。每次发布新版本,服务端都需要为以前所有的老版本生成对应的差分包,并根据客户端端请求返回对应的更新包,维护过程将会变得相对复杂。客户端需要对差分包做更为详细的验证,防止出错,除此之外,客户端应该可以根据服务端更新开关来确定当前是使用完整更新还是增量更新。
    2.apk包之间的差异过小时,比如2m以下,此时生成的差分包仍然有几百k,此时使用增量更新得不偿失,毕竟形成差分包和合并的过程都非常耗时。另外,但版本之间变化非常大的时候,通常是是大版本好变化的时候,比如从v 1.0.0到2.0.0,此时使用完整更新也不错。
上一篇文章:当智能家居遇到物联网 下一篇文章:物联网:“发展”和“安全”孰轻孰重?
相关链接
发表评论
用户评论

银河产品

推荐产品

版权所有 山西银河娱乐网平台股份有限公司 晋ICP备09004627号