含義
熱更新:在不改變原包的基礎(chǔ)上進行功能更新懂缕。
增量更新:比較舊包和新包的大小,找出其間的差異王凑,然后安裝差異部分搪柑,這不屬于熱更新。
熱更新思路和原理
客戶端和服務(wù)器上分別保存有配置文件荤崇,程序啟動時使用http協(xié)議下載服務(wù)器的配置文件來與客戶端的進行逐行對比拌屏,通過比較md5碼找出不同的資源和腳本代碼(需要更新的部分),把對應(yīng)的資源和代碼下載下來并將本地的覆蓋术荤。
配置文件是一個文本
配置文件中存著資源或腳本文件的名字以及其對應(yīng)md5碼倚喂。如一個md5碼為abcd的存儲在lua/Logic/目錄下的名為Network.lua的腳本,其在配置文件中的存儲形式為
lua/Logic/Network.lua|abcd
配置文件中的內(nèi)容即是多行這樣的由目錄瓣戚,資源或腳本名以及其對應(yīng)md5碼組成的文本
若資源或腳本有所改動端圈,其對應(yīng)的md5值也會發(fā)生變化。
若平臺SDK升級子库,則不能使用熱更新舱权,而需要強制更新客戶端(重新下載安裝)/增量更新。
MD5中的MD代表Message Digest仑嗅,就是信息摘要的意思宴倍,不過這個信息摘要不是信息內(nèi)容的縮寫,而是根據(jù)公開的MD5算法對原信息進行數(shù)學(xué)變換后得到的一個128位(bit)的特征碼仓技。簡單地說就是一個電子文件的指紋鸵贬。
關(guān)于md5碼百度百科有詳細解釋:https://baike.baidu.com/item/MD5%E7%A0%81