熱更新

什么是熱更新?
不停機(jī)更新恩商,實(shí)時(shí)更新返奉。HotUpdateHotFix
Unity中需要APP重啟
真正熱更新不重啟就做更新

為什么做熱更新贝搁?
改善用戶(hù)體驗(yàn)(節(jié)省流量、時(shí)間芽偏、操作程度)雷逆,補(bǔ)丁形式,不用玩家重復(fù)下載游戲污尉,就可以對(duì)游戲做熱修復(fù)膀哲。

如何做熱更新往产?unity3d熱更新的方法?
Android應(yīng)用的熱更新:
1.將要執(zhí)行的代碼編譯為庫(kù)文件assembly dll.動(dòng)態(tài)鏈接庫(kù)
通過(guò)反射的方式再Unity中加載被打包的dll文件并執(zhí)行:
將dll打包成AB包某宪,通過(guò)www加載在AB包捂齐,通過(guò)反射獲取到dll中的類(lèi)

WWW www = WWW.LoadFromCacheOrDownload(Application.streamingAssetsPath + "/hot.u3d",6);
        yield return www;
        if(www.error != null)
        {
            print(www.error);
            yield break;
        }
        AssetBundle assetBundle = www.assetBundle;
        TextAsset textAsset = assetBundle.LoadAsset<TextAsset>("HotFix");
        Assembly assembly = Assembly.Load(textAsset.bytes);
        foreach (var item in assembly.GetTypes())
        {
            print(item);
            gameObject.AddComponent(item);
        }

注意:Unity2017不支持.Net3.5以上

android與IOS熱更新有什么相同點(diǎn)和不同點(diǎn)
不同點(diǎn):
IOS不允許某些反射的高級(jí)功能,因此不能用DLL的方式做熱更新(mono打包時(shí)缩抡,會(huì)自動(dòng)將反射部分功能禁止)
相同點(diǎn):
移動(dòng)端做熱更新都是使用Unity3D+lua插件或框架
熱更新需要注意的點(diǎn):
資源奠宜、代碼包括Lua代碼都要達(dá)成assetbundle包來(lái)使用
注意幾個(gè)重要的路徑和文件夾:
Resources(會(huì)被壓縮,不管是否使用都會(huì)被打進(jìn)APK瞻想,只可讀)
StreamingAssets(不會(huì)被壓縮压真,持久化目錄,只可讀蘑险,不能坐熱更新)
Application.datapath(asset文件夾下面的路徑滴肿,也不能做熱更新)
Application.persistentDataPath(持久化數(shù)據(jù)存儲(chǔ)路徑,沙盒文件夾佃迄,在打包之前此文件夾不存在泼差。可讀可寫(xiě)呵俏,沒(méi)有任何內(nèi)容限制堆缘,從服務(wù)器上下載的AB資源,都會(huì)放到這個(gè)文件夾下進(jìn)行熱更新)

加載資源流程
開(kāi)始游戲->讀取本地版本號(hào)信息->去服務(wù)器指定地址下載服務(wù)器版本號(hào)信息->對(duì)比兩個(gè)版本號(hào)信息->如果不一致普碎,從服務(wù)器上下載全部AB資源放入(持久化目錄中去)吼肥;

加載每個(gè)資源過(guò)程 第一步嘗試從持久化目錄中加載cube,如果不存在麻车,即加載的為空缀皱,那么從StreamingAssets的文件夾中進(jìn)行加載;

unity3D那些插件用于熱更新动猬?
ULua 基于反射 性能較差 效率低 速度慢 gcalloc頻繁 停止維護(hù)只能支持到Unity3D 5.0以前
ToLua 使用的人多 維護(hù)起來(lái)快 各種靜態(tài)方法效率高 要被熱更新的文件必須使用Lua代碼寫(xiě)的
SLua 沒(méi)有知名項(xiàng)目啤斗,代碼質(zhì)量較好,可以閱讀源碼 使用靜態(tài)方法 缺點(diǎn)同ToLua
C#Light 使用較少
XLua Tencent開(kāi)發(fā)開(kāi)源熱更新插件 最大優(yōu)點(diǎn) 平時(shí)開(kāi)發(fā)使用C#赁咙,遇到有錯(cuò)誤的或者有問(wèn)題需要熱修復(fù)熱更新的時(shí)候钮莲,才對(duì)需要熱更的腳本方法進(jìn)行處理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末序目,一起剝皮案震驚了整個(gè)濱河市臂痕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猿涨,老刑警劉巖握童,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異叛赚,居然都是意外死亡澡绩,警方通過(guò)查閱死者的電腦和手機(jī)稽揭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)肥卡,“玉大人溪掀,你說(shuō)我怎么就攤上這事〔郊” “怎么了揪胃?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)氛琢。 經(jīng)常有香客問(wèn)我喊递,道長(zhǎng),這世上最難降的妖魔是什么阳似? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任骚勘,我火速辦了婚禮,結(jié)果婚禮上撮奏,老公的妹妹穿的比我還像新娘俏讹。我一直安慰自己,他們只是感情好畜吊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布泽疆。 她就那樣靜靜地躺著,像睡著了一般定拟。 火紅的嫁衣襯著肌膚如雪于微。 梳的紋絲不亂的頭發(fā)上逗嫡,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天青自,我揣著相機(jī)與錄音,去河邊找鬼驱证。 笑死延窜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的抹锄。 我是一名探鬼主播逆瑞,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼伙单!你這毒婦竟也來(lái)了获高?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吻育,失蹤者是張志新(化名)和其女友劉穎念秧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體布疼,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摊趾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年币狠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砾层。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡漩绵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肛炮,到底是詐尸還是另有隱情止吐,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布侨糟,位于F島的核電站祟印,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏粟害。R本人自食惡果不足惜蕴忆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悲幅。 院中可真熱鬧套鹅,春花似錦、人聲如沸汰具。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)留荔。三九已至吟孙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間聚蝶,已是汗流浹背杰妓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碘勉,地道東北人巷挥。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像验靡,于是被迫代替她去往敵國(guó)和親倍宾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 何謂熱更新 熱更新怔锌,每個(gè)程序員一聽(tīng)就明白,但是它語(yǔ)出何處,究竟表達(dá)了什么含義产禾,到底代表了什么排作,對(duì)技術(shù)有什么要求,對(duì)...
    一杯毒酒閱讀 1,112評(píng)論 0 2
  • 何謂熱更新 Unity3D熱更新就是指:用戶(hù)重啟客戶(hù)端就能實(shí)現(xiàn)客戶(hù)端資源代碼更新的需求或者功能亚情。 為何熱更新 熱更...
    京野男爵閱讀 1,548評(píng)論 0 6
  • 你以為你之于他 是陽(yáng)光妄痪、是空氣、是水 而事實(shí)上 你只是安慰劑楞件、止痛藥
    蠟筆小小丸子閱讀 274評(píng)論 0 0
  • 今天你起的有點(diǎn)晚 該吃的飯還是沒(méi)吃完 走路時(shí)有些微微顫顫 沒(méi)問(wèn)兩句你就急了眼 晚上下班你叫我們坐下吃飯 從來(lái)不多說(shuō)...
    恰似春風(fēng)閱讀 159評(píng)論 0 2
  • 《復(fù)興計(jì)劃》(中篇科幻)目錄 天羿星球的訓(xùn)練基地里,還有很多人正在訓(xùn)練著近身格斗土浸,一陣陣喝喊聲好像要刺破訓(xùn)練場(chǎng)的頂...
    燕飛花閱讀 753評(píng)論 0 8