Android增量升級(jí)的方法和原理詳細(xì)介紹
我們使用delta編碼算法減少Android應(yīng)用升級(jí)程序的大小。我們通過(guò)bsdiff和bspatch工具在android上實(shí)現(xiàn)delta編碼算法。服務(wù)器軟件和android應(yīng)用已經(jīng)部署。當(dāng)前,我們能夠減少Android升級(jí)流量的50%,如果大量的部署,這將會(huì)減少網(wǎng)絡(luò)的壓力。
升級(jí)機(jī)制:
我們打算采用delta編碼的patch升級(jí)Android應(yīng)用。新的升級(jí)機(jī)制可以描述如下:
1、 在服務(wù)器上生成一個(gè)patch。
2、 下載patch到手機(jī)中。
3、 通過(guò)補(bǔ)丁獲取一個(gè)已安裝應(yīng)用的新的安裝apk。
4、 安裝應(yīng)用的新版本并刪掉舊的版本和patch。
統(tǒng)計(jì)數(shù)據(jù):
我們當(dāng)前正在研究應(yīng)用怎樣在android中升級(jí)。這個(gè)研究結(jié)果將允許我們?cè)谛碌纳?jí)機(jī)制下節(jié)約大量的流量。我們創(chuàng)建了一個(gè)android應(yīng)用用來(lái)收集統(tǒng)計(jì)數(shù)據(jù)(可能會(huì)用于將來(lái)的研究)。
應(yīng)用會(huì)收集以下數(shù)據(jù):
1、 應(yīng)用的名字,版本,大小和每個(gè)應(yīng)用最后升級(jí)的時(shí)間。
2、 統(tǒng)計(jì)Wifi和3G的鏈接狀態(tài)。
谷歌增量升級(jí)技術(shù):
在谷歌2012 I/O大會(huì)上宣布Google Play Stroe的增量升級(jí)技術(shù)。它始于八月中旬。他們使用跟我們相同的升級(jí)機(jī)制。比較兩個(gè)應(yīng)用的不同,并將patch部署在終端上。
根據(jù)我們的統(tǒng)計(jì),patch文件的平均大小為應(yīng)用的34%。
用到的軟件:
為了完成在服務(wù)器上部署patch軟件和在手機(jī)上部署patch和升級(jí)應(yīng)用。在服務(wù)器端我們使用bsdiff工具。在android,我們使用bspatch工具。
相關(guān)文章
AndroidQ(10)黑暗模式適配的實(shí)現(xiàn)
這篇文章主要介紹了AndroidQ(10)黑暗模式適配的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Android 官推 kotlin-first 的圖片加載庫(kù)——Coil的使用入門
這篇文章主要介紹了Android 官推 kotlin-first 的圖片加載庫(kù)——Coil的使用入門,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-04-04Android 給RecyclerView添加分割線的具體步驟(分享)
下面小編就為大家?guī)?lái)一篇Android 給RecyclerView添加分割線的具體步驟(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04Android基于CountDownTimer實(shí)現(xiàn)倒計(jì)時(shí)功能
這篇文章主要介紹了Android基于CountDownTimer實(shí)現(xiàn)倒計(jì)時(shí)功能,簡(jiǎn)單分析了基于CountDownTimer類實(shí)現(xiàn)倒計(jì)時(shí)功能的技巧,需要的朋友可以參考下2015-12-12安卓(Android)聊天機(jī)器人實(shí)現(xiàn)代碼分享
這是一個(gè)安卓智能聊天機(jī)器人的源碼,采用了仿微信的風(fēng)格設(shè)計(jì),調(diào)用的是圖靈機(jī)器人的API,能夠?qū)崿F(xiàn)智能聊天、講故事、講笑話、查天氣、查公交等豐富的功能2015-11-11Android中AsyncTask的入門使用學(xué)習(xí)指南
AsyncTask異步任務(wù),用于執(zhí)行耗時(shí)任務(wù)并在UI線程中更新結(jié)果。下面這篇文章主要給大家介紹了關(guān)于Android中AsyncTask入門使用的相關(guān)資料,需要的朋友可以參考下2019-02-02Android貝塞爾曲線實(shí)現(xiàn)填充不規(guī)則圖形并隨手指運(yùn)動(dòng)
這篇文章主要為大家詳細(xì)介紹了Android貝塞爾曲線實(shí)現(xiàn)填充不規(guī)則圖形,并隨手指運(yùn)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Android中g(shù)son、jsonobject解析JSON的方法詳解
JSON即JavaScript Object Natation, 它是一種輕量級(jí)的數(shù)據(jù)交換格式, 與XML一樣, 是廣泛被采用的客戶端和服務(wù)端交互的解決方案.接下來(lái)由腳本之家小編給大家介紹Android中g(shù)son、jsonobject解析JSON的方法,感興趣的朋友一起學(xué)習(xí)吧2016-02-02