Lua語言爲什麼可以熱更新

一、什麼是熱更新

熱更新是一種各大手遊等衆多App常用的更新方式。簡單來說,就是在用戶通下載安裝APP之後,打開App時遇到的即時更新。

二、熱更新的本質

熱更新問題的本質是代碼更新而不是資源更新,大型手遊都是將補丁資源放在專門的WEB服務器上,遊戲啓動時動態下載並放入到遊戲的持久化目錄中,這對安卓和蘋果都可以,但是代碼就特殊了。

由於不同類型的語言有不同的運行機制,編譯型語言如C#,是先編譯成一整塊中間碼然後在不同平臺上被.NET運行時解釋執行,這就是說使用C#編寫的APK或IPA安裝到手機上後是沒有任何C#文件的。這樣就算運行時將作爲補丁的C#文件從WEB服務器上下載到持久化目錄也運行不了。

三、LUA爲什麼可以熱更

LUA解釋型語言,並不需要事先編譯成塊,而是運行時動態解釋執行的。那C#爲什麼不做成解釋型語言呢?因爲C#的定位是一個追求效率且功能強大的編譯型語言。這樣LUA就和普通的遊戲資源如圖片,文本沒有區別,因此可以在運行時直接從WEB服務器上下載到持久化目錄並被其它LUA文件調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章