2016年2月24日的小米5发布会上,一键换机功能让人眼前一亮。有了该功能用户在购买了小米手机产品后,可以非常快速简单的完成旧手机上的数据搬家。那么该功能背后有哪些技术做支撑?让我们一起走进小米一键换机的工程师。
看似神奇的一键换机功能简单说就是由数据本地备份和小米快传两大功能组合实现。下面我们就先来看数据本地备份的技术原理,用户选择需要备份的数据,系统会对所选数据进行打包处理,然后将打包的数据存储到手机本地。
(其实不会永久的存储到本地,只是在本地创建一个临时的文件,等这个文件成功的传送到接收端后,这个文件就会被删掉了,这点跟本地备份是不同的)
对于图片、视频类文件,直接进行文件传输;而app的用户数据有两个部分,一部分位于SD卡,一部分位于系统的data分区。一键换机时会分别对这两部分数据进行打包。打包后的文件通过小米快传功能传输到新手机内,然后进行解包工作。系统在对文件打包过程中会对每一个文件进行代码标识,比如源文件的属性、存储路径等。在解包过程中系统会根据直接打包时的代码标识来判断文件属性以及该存储到新手机的什么位置。
注:如果新手机中的某个应用和之前的旧手机中相同,系统会通过对打包文件中的APK文件作出判断,如果新手机的应用版本高于旧手机的应用版本,旧版本数据依然会原封不动的传送给新手机,并依靠该应用本身的数据升级逻辑进行数据版本的升级。即对于第三方的应用,数据迁移是完全兼容的,除非遇到应用不兼容老版本的Android系统。另外系统数据方面,只做向后兼容,即如果旧手机的系统版本低于新手机的系统版本,换机是没有问题的,系统数据都会迁移至新手机中;如果旧手机的系统版本高于新手机的系统版本,那么在一定程度上正常进行数据恢复,单不能保证数据完全兼容。另注:短信、彩信、联系人,通话记录除外,任意两台手机进行上面这4个数据的迁移都是完全兼容的。
除了数据备份功能外,还是一个重要功能便是小米快传,在选择一键换机过程中,我们需要进行二维码扫描。由于一键换机是点对点的原理,而传统小米快传功能支持一对多,所以在一键换机过程中,新手机会生成一个包含WiFi热点信息的二维码,使用要更换的手机扫描新手机便会建立点对点的WiFi热点链接,此时旧手机中所选择的数据便可以通过小米快传功能实现数据转移。