日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一文帶你弄懂Flutter的熱部署

關(guān)于Dart中的運(yùn)行方式

  • JIT:Just In Time . 動態(tài)解釋,一邊翻譯一邊執(zhí)行,也稱為即時編譯,如JavaScript,Python等,在開發(fā)周期中使用,可以動態(tài)下發(fā)和執(zhí)行代碼,開發(fā)測試效率高,但是運(yùn)行速度和性能則會受到影響,F(xiàn)lutter中的熱重載正是基于此特性
  • AOT: Ahead of Time. 靜態(tài)編譯,是指程序在執(zhí)行前全部被翻譯為機(jī)器碼,提前編譯,如 C ,C++ ,OC等,發(fā)布時期使用AOT,就不需要像RN那樣在跨平臺JavaScript代碼和原生Android、iOS代碼間建立低效的方法調(diào)用映射關(guān)系。

程序的運(yùn)行方式和具體的語言沒有強(qiáng)制關(guān)系,比如python,既可以是JIT 也可以是AOT,Dart是少數(shù)同時支持JIT和AOT的語言之一。

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)陽高,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

Dart在開發(fā)過程中使用JIT,每次更改都不需要在編譯成字節(jié)碼,節(jié)省了大量時間,在部署中使用AOT生成高效的ARM代碼保證高效的性能,所以說Dart具有運(yùn)行速度快,執(zhí)行性能好的特點(diǎn)。

Hot Reload

在Dart代碼文件中修改字符串“Hello, World”,添加一個驚嘆號,點(diǎn)擊保存或者熱刷新按鈕就可以立即更新到界面上,僅需幾百毫秒:

Flutter通過將新的代碼注入到正在運(yùn)行的DartVM中,來實(shí)現(xiàn)Hot Reload這種神奇的效果,在DartVM將程序中的類結(jié)構(gòu)更新完成后,F(xiàn)lutter會立即重建整個控件樹,從而更新界面。但是熱刷新也有一些限制,并不是所有的代碼改動都可以通過熱刷新來更新:

  1. 編譯錯誤,如果修改后的Dart代碼無法通過編譯,F(xiàn)lutter會在控制臺報錯,這時需要修改對應(yīng)的代碼。
  2. 控件類型從StatelessWidget到StatefulWidget的轉(zhuǎn)換,因?yàn)镕lutter在執(zhí)行熱刷新時會保留程序原來的state,而某個控件從stageless→stateful后會導(dǎo)致Flutter重新創(chuàng)建控件時報錯“myWidget is not a subtype of StatelessWidget”,而從stateful→stateless會報錯“type ‘myWidget’ is not a subtype of type ‘StatefulWidget’ of ‘newWidget’”。
  3. 全局變量和靜態(tài)成員變量,這些變量不會在熱刷新時更新。
  4. 修改了main函數(shù)中創(chuàng)建的根控件節(jié)點(diǎn),F(xiàn)lutter在熱刷新后只會根據(jù)原來的根節(jié)點(diǎn)重新創(chuàng)建控件樹,不會修改根節(jié)點(diǎn)。
  5. 某個類從普通類型轉(zhuǎn)換成枚舉類型,或者類型的泛型參數(shù)列表變化,都會使熱刷新失敗。

熱刷新無法實(shí)現(xiàn)更新時,執(zhí)行一次熱重啟(Hot Restart)就可以全量更新所有代碼,同樣不需要重啟App,區(qū)別是restart會將所有Dart代碼打包同步到設(shè)備上,并且所有狀態(tài)都會重置。


網(wǎng)頁題目:一文帶你弄懂Flutter的熱部署
當(dāng)前地址:http://www.5511xx.com/article/dpjdped.html