小米一鍵換機如何實現數據搬家?
更換手機和換SIM卡同步舊手機裡的信息一直是讓人頭疼的問題,現在小米手機可以非常快速簡單的完成舊手機上的數據搬家,就是小米一鍵換機功能。那麼該功能背後有哪些技術做支撐?讓我們一起走進小米一鍵換機的工程師。
看似神奇的一鍵換機功能簡單說就是由數據本地備份和小米快傳兩大功能組合實現。下面我們就先來看數據本地備份的技術原理,用戶選擇需要備份的數據,系統會對所選數據進行打包處理,然後將打包的數據存儲到手機本地。
(其實不會永久的存儲到本地,只是在本地創建一個臨時的文件,等這個文件成功的傳送到接收端後,這個文件就會被刪掉了,這點跟本地備份是不同的)
對於圖片、視頻類文件,直接進行文件傳輸;而app的用戶數據有兩個部分,一部分位於SD卡,一部分位於系統的data分區。一鍵換機時會分別對這兩部分數據進行打包。打包後的文件通過小米快傳功能傳輸到新手機內,然後進行解包工作。系統在對文件打包過程中會對每一個文件進行代碼標識,比如源文件的屬性、存儲路徑等。在解包過程中系統會根據直接打包時的代碼標識來判斷文件屬性以及該存儲到新手機的什麼位置。
註:如果新手機中的某個應用和之前的舊手機中相同,系統會通過對打包文件中的APK文件作出判斷,如果新手機的應用版本高於舊手機的應用版本,舊版本數據依然會原封不動的傳送給新手機,並依靠該應用本身的數據升級邏輯進行數據版本的升級。即對於第三方的應用,數據遷移是完全兼容的,除非遇到應用不兼容老版本的Android系統。另外系統數據方面,只做向後兼容,即如果舊手機的系統版本低於新手機的系統版本,換機是沒有問題的,系統數據都會遷移至新手機中;如果舊手機的系統版本高於新手機的系統版本,那麼在一定程度上正常進行數據恢復,單不能保證數據完全兼容。另註:簡訊、彩信、聯繫人,通話記錄除外,任意兩臺手機進行上面這4個數據的遷移都是完全兼容的。
除了數據備份功能外,還是一個重要功能便是小米快傳,在選擇一鍵換機過程中,我們需要進行二維碼掃描。由於一鍵換機是點對點的原理,而傳統小米快傳功能支持一對多,所以在一鍵換機過程中,新手機會生成一個包含WiFi熱點信息的二維碼,使用要更換的手機掃描新手機便會建立點對點的WiFi熱點連結,此時舊手機中所選擇的數據便可以通過小米快傳功能實現數據轉移。
上述所講便是整個小米一鍵換機功能實現的背後原理,簡單講其實就是三步:舊手機數據打包——小米快傳傳輸數據——新手機數據解包。