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

flutter取整,float取整和取小數(shù)

小于1像素的渲染探究

下圖看起來和使用Container做的線顯示效果一樣

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的北戴河網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Flutter 官方對解釋的不是很清楚

通過測試對比發(fā)現(xiàn)Flutter在渲染小于1邏輯像素的線的時候,其高度是按1邏輯像素去展示的,只不過看到的顏色會不一樣,當(dāng)設(shè)置線的高度不是整數(shù)邏輯像素時,線的高度是線上取整后的邏輯像素,只不過看到的線上下邊緣的顏色會隨著小數(shù)部分的值越大顏色越接近設(shè)置的顏色。也就是說flutter是以1邏輯像素的整數(shù)倍去顯示的,如果是非整數(shù)倍邏輯像素線上下邊緣的顏色會跟設(shè)置的不一樣(以灰度的方式顯示出來)。

ios 原生目前也可以展示小于1物理像素的點(diǎn),但是以UIView的控件做的線,其高度有個臨界值,低于臨界值的線會顯示不出來,而且其顯示的線邊緣比較銳利,其高度在到某一臨界值后會直接變高,而不是在線上下邊緣做灰度展示。而用原生繪制出來的線展示小于以邏輯像素的時候其高度均展示為1邏輯像素,不過顏色值會以灰度的方式展示出來,在達(dá)到邏輯像素的整數(shù)倍時展示設(shè)置的顏色,這是和flutter一樣的。

比如拿iPhone 6s 舉例,其屏幕寬度是2.3英寸,橫向上有750顆像素點(diǎn),ppi = 750/2.3 = 326,既每寸上有326個物理像素,換算成厘米也就是 326/2.54 = 128.35,也就是說每厘米上有128.35個物理像素點(diǎn),每毫米有13個物理像素點(diǎn),也就是每個物理像素點(diǎn)的寬度是0.077毫米。6s 的邏輯寬度是375,橫向上每厘米有375/(2.3*2.54) = 64邏輯像素/cm,也就是6s上每個邏輯像素的寬度是0.156毫米。當(dāng)我們設(shè)置一邏輯像素寬度時其在6s上對應(yīng)的寬度是0.156毫米。

flutter 運(yùn)算符

算數(shù)運(yùn)算符:加(+) 減(-) 乘(*) 除(/) 取余(%) 取整(~/)

關(guān)系運(yùn)算符:(==)(!=)()()(=)(=)

邏輯運(yùn)算符:(!)()(||)

賦值運(yùn)算符:(=)(??=)(+=)(-=)(*=)(/=)(%=)(~/=)

Flutter性能優(yōu)化

1.圓角對性能的影響

盡量避免用Clipxxx組件,建議用BoxDecoration的image屬性實(shí)現(xiàn),如果用Clipxxx組件,圓角取整后性能會提升。

2.減少重繪

根據(jù)場景合理使用RePaintBoundary,使繪制獨(dú)立于父布局,避免重繪,提升性能,但過度使用增加的圖層會帶來Raster合成的耗時。例如scrollview是滑動過程會導(dǎo)致所有的節(jié)點(diǎn)都重繪,可以在scrollview下一層使用RePaintBoundary。

3.滾動步長插值器優(yōu)化(了解)

官方的滾動差值器在出現(xiàn)小卡頓時,滾動步長會出現(xiàn)大的跳躍,導(dǎo)致體感上出現(xiàn)很明顯的抖動,優(yōu)化步長偏移量算法與原生效果對齊。

4.開啟SurfaceView

官方推薦Flutter用SurfaceView ,因?yàn)镾urfaceView與應(yīng)用窗口內(nèi)容分隔開,在專有硬件中合成,產(chǎn)生的中間副本少于TextureView,所以性能高,占用內(nèi)存少,但是在混合棧遇到的問題需要突破

5.使用RepaintBoundary 提升頻繁重繪控件的性能。使用RelayoutBoundary提升頻繁修改大小,增刪的布局中也可以提升性能。

6.build中不要去寫大量的耗時邏輯,因?yàn)閿?shù)據(jù)更新會觸發(fā)build的多次調(diào)用,在里面做耗時邏輯會降低性能。

7.盡量使用statelessWidget代替statefulWidget,因?yàn)閟tatefulWidget的銷毀重建會引起子widget的銷毀與重建。

8.解析json可以放到子線程線程中,開Isolate去解析,這樣,當(dāng)返回?cái)?shù)據(jù)特別大的時候也不會阻塞界面。

9.使用不變的組件的時候可以添加const,const組件不會進(jìn)行build更新

10.由于flutter通過widget.runtimeType和key來判斷是否需要跟新組建,所以我們寫組件的時候盡量保持key不變,或者不寫key。對于一些需要頻繁改變,例如新增、刪除、排序的最好加上key。如果type一直,如果不寫key容易導(dǎo)致,element無法區(qū)分新舊widget,導(dǎo)致無法更新。

Flutter之Dart數(shù)據(jù)類型及數(shù)據(jù)之間的轉(zhuǎn)換

1、數(shù)值型-Number

2、布爾型-Boolean

3、字符串-String

4、列表-List

5、鍵值對-Map

1、int: 整數(shù),數(shù)值

2、double: 浮點(diǎn)型數(shù)值,帶有小數(shù)點(diǎn)

運(yùn)算符:+,-,*,/,~/(取整),%;

字符串操作

運(yùn)算符:+,*,==,[]

插值表達(dá)式:${expression}

常用屬性:length,isEmpty(是否為空)

Map 對象

flutter 小數(shù)向上向下取整

Flutter 的Dart語言,數(shù)字向上或者向下取整數(shù)。

例如:

6除以5想要獲取到不同的值

控制小數(shù)點(diǎn)精度

標(biāo)題名稱:flutter取整,float取整和取小數(shù)
標(biāo)題路徑:http://aaarwkj.com/article44/dsigehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、虛擬主機(jī)定制開發(fā)、ChatGPT、網(wǎng)站維護(hù)移動網(wǎng)站建設(shè)

廣告

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

綿陽服務(wù)器托管
色婷婷av一区二区三区张| 国产日韩亚洲欧美精品专区| 一区二区三区欧美日韩| 久久人婷婷人人澡人人爽| 二区三区成人在线观看| 亚洲区一区二区三区精品| 精品在线免费视频观看| 久久精品亚洲欧美激情| 97碰碰视频在线观看| 中文字幕人妻系列东京热| 亚洲精品色播一区二区| 九九久久九九精美视频| 日韩中文字幕综合不卡| 日进去了啊内射视频| 国产精品青青在线观看爽香蕉| 欧美丰满老妇性猛交| 激情欧美一区二区三区精品| 亚洲国产日韩精品自拍av| 日韩精品一区二区三区中文| 国产精品一区二区婷婷| 亚洲毛片高清一区二区三区| 日韩亚洲一区二区免费| 国产欧美激情一区二区| 中文字幕精品一区二区三区精品 | 国内精品久久大型新型| 午夜福利激情视频在线| 亚洲av成人在线观看| 国产精品国产成人生活片| 中文字幕中文字幕久久不卡| 白白色成人永久在线观看视频| 一区二区三区国产精品乱码| 国产一区在线免费在线观看| 日韩不卡的一区免费视频| 麻豆国产传媒片在线看| 91好色视频在线观看| 水牛av影视亚洲精品| 美女在线观看av少妇| 欧美日韩一区二区综合在线视频 | 国产精品男人在线播放| 一区二区三区国产精品乱码| 乱色熟女一区二区三区|