满心欢喜名正言顺把小三带回家,不到半年,车厂就推出升级版,系统更新。不仅外观升级,还有辅助驾驶,导航地图实用功能升级。你捶胸顿足,怎么就不再等等…... 甚至是地图数据更新,都要跑去4S店,花上好几百大洋,结果不到一年,又发现地图把你导坑里了。想死的心都有是不是? OTA的升级方案有多种,车厂可以根据自己的系统进行定制。以当下主流的Android系统,介绍下OTA的升级方式。 1、通过车载系统自带升级应用程序,自动下载更新包升级 一般情况下,系统在出厂时为初始版本,此后系统每次开机时,升级应用程序会自动检测是否有新版本可以升级。另外,用户也可自己运行升级应用程序去检测是否有新版本。此过程与手机检查系统更新方式基本一致。 这种升级方式是最方便的,唯一的缺点是耗流量,所以建议车主们在wifi环境下进行。那有没有方案可以帮用户节省升级流量呢?这里可以选用差分包升级。 所谓差分包,也叫增量包,即新升级包与旧版之间的差异部分。例如,一个全量的升级包有300MB左右,而一个差分包小于100MB,这样就可以省下不少流量,也提高了升级速度。 但这种方式也会存在一个问题:不同用户的系统版本很可能不一致。比如,有些用户不喜欢频繁升级,有些用户一旦有新版本则必升级,导致不同用户的系统版本不一致。为了兼顾到所有用户,让开奖直播们的系统都能正常升级到最新版本,至少有以下4种方法可以解决这个问题(以下所有示意图中的“n”代表最新版本增量): (1)只提供全量包。 不管用户处于哪个版本,只要不是最新版本,都统一下载最新版本的全量包。这种方法简单粗暴,实现起来最容易,但缺点是浪费流量,升级时间长,因为全量包是最大的,如下图所示; (2)为全部历史版本提供差分包。 这种方式能够让每个用户都能下载到自己需要的差分包,而非全量包,不用浪费流量和多余的升级时间。缺点是开发人员工作量大。每一次推送新版本时,都要为所有历史版本生成差分包,同时在向用户推送升级包时,需要先判断用户当前的版本,再推送相应的差分包,如下图所示; 这种做法的好处是实现起来相对简单,不需要为所有历史版本提供差分包,兼顾了已升级到最新版本的用户,但是对仍处在更低版本的用户而言,就必须下载最新全量包,这是一种折中的做法,如下如所示; (4)每次只为上一个版本提供差分包。 这种做法好处就是每次只需要提供一个差分包,缺点是每次的差分包都是针对上一个版本,对于有2个及2个以上版本未更新的用户而言,需要依次逐个升级,费时费力,用户体验差。 2、通过从官网下载最新更新包到U盘升级 有以下两种方式可供用户选择: (1)下载全量包 :优点是简单,对所有用户都适用;缺点是包大,升级时间最长。 (2)让用户根据自己的版本选择对应的差分包下载:优点是节省升级时间和升级包大小,缺点是运营人员需要为所有版本提供差分包,并且用户可能不懂如何选择相应的差分包。 另外,U盘升级方式需要解决如何快速扫描U盘找到升级包这一问题,以下两种方式都可以解决这一问题。 第1种,要求升级包按照指定的命名,如update.zip,放到指定的目录下,如根目录。这样只需要扫描U盘根目录下是否存在指定名字的文件即可。 这种方式简单粗暴,不用对每个文件夹逐层的进行遍历,节省了扫描时间,也不管文件的真实内容是否为合法的升级包,但缺点也很明显,放在非根目录下的升级包是无法被发现的,同时因为是按照名字来查找的,并没有对升级包做合法性校验。所以在找到符合条件的文件进行升级时,要先对其进行合法性校验。这种方式对用户做了路径和命名的限制,是一种综合了用户操作方便性和程序执行效率的做法。 (责任编辑:本港台直播) |