欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

flutter性能如何,Flutter前景

如何評價 Google 的 Flutter

Flutter框架,一言以蔽之就是能夠使用一套相同的Dart語言代碼同時實現(xiàn)android和ios跨平臺應(yīng)用的框架,同時兼?zhèn)涓咝阅芎涂焖匍_發(fā)。

在東昌府等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站制作,東昌府網(wǎng)站建設(shè)費用合理。

為什么Flutter開發(fā)APP性能最接近原生,前端程序員請關(guān)注

Flutter是谷歌公司推出的跨終端的開發(fā)框架,支持Android、iOS和WEB終端。1.0版在2018年12月5日發(fā)布,目前的最新版本是1.5,它采用的開發(fā)語言是Dart,Dart也是谷歌開發(fā)的計算機編程語言,語法類似C,是編譯型語言:

hello world例子,打印字符串“Hello World!”:

1、沒有橋接層

React Native、Weex等技術(shù)都是跨終端的框架,然而性能跟原生App存在很大差距。這是由于它們的工作原理決定的:

React Native、Weex等技術(shù)多了一個橋接層,所以界面渲染會慢一些,由于UI渲染非常頻繁,想要不卡頓,基本上比較難,性能和用戶體驗跟原生代碼有差距。而這恰恰是Flutter的優(yōu)勢所在:

Dart可以被編譯成不同平臺的本地代碼,讓Flutter不通過橋接層直接跟平臺通信,自然性能會快一些。

2、編譯執(zhí)行

JavaScript是解釋執(zhí)行的,Dart是編譯執(zhí)行的,性能誰好一目了然。

3、Flutter Engine虛擬機

Flutter是依靠Flutter Engine虛擬機在iOS和Android上運行的,F(xiàn)lutter Engine使用C/C++編寫,開發(fā)人員通過Flutter框架直接和API在內(nèi)部進(jìn)行交互,所以具有輸入低延遲和UI渲染高幀速率的特點。除了這特點之外,F(xiàn)lutter還提供了自己的小部件,F(xiàn)lutter小部件是使用從React獲取靈感的現(xiàn)代框架構(gòu)建的。 中心思想是您使用小部件構(gòu)建UI。

窗口小部件根據(jù)其當(dāng)前配置和狀態(tài)描述了它們的視圖。 當(dāng)窗口小部件的狀態(tài)發(fā)生更改時,窗口小部件會重建其描述,框架將根據(jù)前面的描述進(jìn)行區(qū)分,以確定底層呈現(xiàn)樹從一個狀態(tài)轉(zhuǎn)換到下一個狀態(tài)所需的最小更改??梢灾苯釉贠S平臺提供的畫布上進(jìn)行描繪,也就是一些核心類庫直接放到虛擬機里面,調(diào)用起來更快。

從它的系統(tǒng)結(jié)構(gòu)可以看出,類似安卓的ART(Android Run Time)虛擬機,同樣采用AOT(Ahead of TIme)技術(shù),會在APP安裝時就編譯成機器語言,不再解釋執(zhí)行,從而優(yōu)化了APP運行的性能。

4、自帶渲染引擎

Flutter使用谷歌自己的Skia渲染引擎,而Android系統(tǒng)自帶Skia引擎,iOS平臺上Flutter也會把Skia引擎打包到APP中,從而實現(xiàn)了高效渲染。而React Native通過橋接層訪問原生UI,操作頻繁就容易出性能問題。

綜合所述,F(xiàn)lutter 是性能最接近原生代碼 的一種開發(fā)框架,未來也會是構(gòu)建谷歌Fuchsia應(yīng)用的主要方式,前途不可限量,唯一的問題就是需要學(xué)習(xí)一門新的語言:Dart,而有Java或者C#語言基礎(chǔ)的程序員會比較容易學(xué)習(xí)。

Flutter開發(fā)性能提升之:如何避免Widget重復(fù)Build

問題描述:

在Flutter開發(fā)的過程中,當(dāng)我們獲取到新的數(shù)據(jù)或者數(shù)據(jù)發(fā)生變化,需要去執(zhí)行setState進(jìn)行頁面刷新的時候,經(jīng)常會出現(xiàn)不必要的子節(jié)點Widget也進(jìn)行了build,但實際上我們是不想讓它再次build,出現(xiàn)這些問題的典型情況是在使用FutureBuilder的時候,例如:

在上面這個示例中,如果再次調(diào)用Build方法,則會觸發(fā)httpCall()的方法。

那么怎樣才能避免不必要的部件構(gòu)建呢?

分析:

在Flutter中,Build方法的設(shè)計方式是pure/without side effects,書面意思是無副作用的/純粹的,簡單點理解我們可以將其含義看作不會對外部的方法或者變量產(chǎn)生影響的。這是因為許多外部因素能夠觸發(fā)新的小部件的構(gòu)建,例如這些情況:

但是,這也意味著Build方法可以不去觸發(fā)httpCall()的方法或者不修改任何狀態(tài)。

解決

回歸問題,當(dāng)前我們面臨的問題是Build方法造成了副作用,也就是造成了無關(guān)的Build調(diào)用麻煩。

所以,只要我們使Build方法保持純粹/無副作用,這樣就算多少次調(diào)用它,也不會對其他Widget的Build方法產(chǎn)生影響。

在上面的示例中,我們將Widget轉(zhuǎn)換為StatefulWidget,然后提取httpCall()到initState中,這樣問題就解決了

另外,還可以使一個Widget能夠在不強迫其子部件也構(gòu)建的情況下進(jìn)行重新構(gòu)建。

在Widget的實例保持不變時;Flutter會有意識的不去重建子部件。這意味著我們可以緩存Widget樹的某些部分,以防止不必要的重新構(gòu)建。

最簡單的方法是使用const修飾構(gòu)造函數(shù):

由于const的修飾,即使調(diào)用了數(shù)百次build,DecoratedBox的實例也將保持不變。

或者你可以這樣使用以達(dá)到相同的結(jié)果:

在這個例子中,當(dāng)StreamBuilder收到新值的通知時,即使StreamBuilder的Column進(jìn)行了重構(gòu),subtree也不會進(jìn)行重構(gòu)。這是因為由于閉包,MyWidget的實例沒有改變。

這種模式在動畫中經(jīng)常使用。典型的是使用AnimatedBuilder和所有的*Transition時,例如AlignTransition。

我們還可以將subtree存儲到類的一個字段中,但是并不推薦你這樣做,因為它會破壞Flutter的熱重載。

本文名稱:flutter性能如何,Flutter前景
本文來源:http://aaarwkj.com/article6/dsiscog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站營銷、手機網(wǎng)站建設(shè)、云服務(wù)器、用戶體驗、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
久久久久久精品国产毛片| av真人青青小草一区二区欧美| 免费高清日本一区二区三区视频 | 亚洲三区四区视频在线观看| 国产av超爽剧情系列| 神马视频一区二区在线观看| 公侵犯人妻中文字幕一区| 亚洲精品小视频在线观看| 日本一区二区精美视频| 日韩av一区二区在线| 亚洲少妇插进去综合网| 在线观看免费在线观看免费| 中文字幕一区二区精品区| 亚洲精品在线观看日本| 清纯唯美校园春色亚洲激情 | 国产成人在线免费短视频| 亚洲精品成人久久网| 欧美中文字幕内射合集| 蜜桃成人一区二区三区| 日本午夜理论视频在线播放| 麻豆视传媒短视频网站免费| 久久久国产精品9999综合| 亚洲成人午夜免费在线观看| 91手机国产三级在线| 亚州精品少妇久久久久久| 午夜激情在线观看网页| 69人妻一区二区三区蜜桃| 懂色av中文一区二区| 日本精品不卡一二三区| 欧美日韩一区二区三区色拉拉| 欧美黄色一区二区三区视频| 日本人妻伦理在线播放| 禁止18岁以下观看的视频| 日本黄色中文字幕在线观看| 亚洲av日韩专区在线观看| 欧美三级欧美一级视频看| 欧美 成人一区二区三区| 精华国产一区二区三区| 伦理中文字幕一区二区| 五月婷婷少妇中文字幕| 国产精品久久久久精品综合|