国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當前位置:首頁 > 科技  > 軟件

掘力計劃第 20 期:Flutter 混合開發的混亂之治

來源: 責編: 時間:2023-08-05 11:44:35 5055觀看
導讀在掘力計劃系列活動第20場,《Flutter 開發實戰詳解》作者,掘金優秀作者,Github GSY 系列目負責人戀貓的小郭分享了Flutter 混合開發的混亂之治。Flutter 基于自研的 Skia 引擎實現了跨平臺高性能渲染,但其獨立的渲染層帶

在掘力計劃系列活動第20場,《Flutter 開發實戰詳解》作者,掘金優秀作者,Github GSY 系列目負責人戀貓的小郭分享了Flutter 混合開發的混亂之治。39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

Flutter 基于自研的 Skia 引擎實現了跨平臺高性能渲染,但其獨立的渲染層帶來了與 Android 混合開發的技術挑戰。經過幾年的演進,Android 目前提供了多種混合渲染方案,但都無法完美解決問題,且共存于 Flutter API 中,增加了復雜性。本文將深入解析 Flutter Android 混合開發面臨的困境,以及開發者應對策略。39028資訊網——每日最新資訊28at.com

Flutter 獨立的渲染機制39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

Flutter 能夠跨平臺高性能渲染的關鍵在于其自研的 Skia 圖形渲染引擎。Skia 通過自身的 renderers、GPU 線程等直接與 GPU 層進行交互,實現繪圖功能。這使得 Flutter 的渲染層可以獨立于 Android 的原生 UI 線程之外。39028資訊網——每日最新資訊28at.com

這種獨立的渲染機制給 Flutter 帶來很大優勢,不依賴原生視圖層即可實現高效的跨平臺渲染。但是同時也導致了 Flutter 要與原生視圖進行混合開發時的困難。39028資訊網——每日最新資訊28at.com

如果用一個簡單的類比,Flutter 更像是一個游戲引擎。想要往 Unity 這類游戲引擎中插入原生 Android 視圖,就像往 HTML 中直接嵌入一個 Canvas 元素一樣困難。這需要游戲引擎提供針對性的接口與機制,將不同的 UI 系統進行「適配」。39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

針對這個問題,Android 和 Flutter 社區也經歷了多年的探索,提供了一系列的混合渲染方案。39028資訊網——每日最新資訊28at.com

Android 混合渲染方案演進39028資訊網——每日最新資訊28at.com

Android 在支持 Flutter 混合開發時,經歷了多種技術方案的演進過程。現階段主要存在以下三種混合渲染技術:39028資訊網——每日最新資訊28at.com

VD 模式39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

VD 全稱 Virtual Display,表示利用虛擬顯示的方式進行混合渲染。其關鍵是采用 VirtualDisplay 將原生視圖渲染到一個內存緩沖區中,得到相應的渲染紋理。39028資訊網——每日最新資訊28at.com

Flutter 通過特定的 API 調用,可以獲取這個渲染紋理,并集成到自身的 Scene 中進行統一渲染。39028資訊網——每日最新資訊28at.com

VD 最大的 特點就是渲染的控件其實不是真實存在屏幕位置,而是在內存,所以容易有觸摸和鍵盤問題。39028資訊網——每日最新資訊28at.com

HC 模式 39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

HC 全稱 Hybrid Composition。它的思路是直接將原生視圖通過 Add View 的方式添加到 Flutter 的 View 層次中,進行物理層面的視圖混合。39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

這種直接混合模式可以保存原生視圖的用戶交互,并且可與 Flutter 視圖自由疊加。但是由于需要跨線程同步渲染,可能會引入一定的性能開銷。39028資訊網——每日最新資訊28at.com

TLHC 模式39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

TLHC 即 Texture Layer Hybrid Composition。這是 Android 團隊後期提出的方案,試圖結合 VD 和 HC 兩種模式的優點。39028資訊網——每日最新資訊28at.com

TLHC 會通過 hook 原生視圖的 onDraw 方法,將其渲染輸出重定向到內存中,再提供給 Flutter 作為紋理。這樣既避免了線程同步,也可以像 HC 那樣自由布局。39028資訊網——每日最新資訊28at.com

但是 TLHC 不支持 SurfaceView 等基于獨立 Surface 的視圖類型。對于一些依賴 SurfaceView 的邏輯,如地圖或視頻播放,TLHC 存在兼容性問題。39028資訊網——每日最新資訊28at.com

共存的模式帶來的困境39028資訊網——每日最新資訊28at.com

經過幾年的演進,Flutter 現在已經可以通過上述三種模式支持 Android 混合開發了。但它們都存在自身的優劣勢,無法解決所有的問題場景。39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

更重要的是,這三種模式現在同時存在于 Flutter 的 API 中,可以被開發者同時使用:39028資訊網——每日最新資訊28at.com

Plain Text
// VD模式
initAndroidVew()

// HC模式
initSurfaceAndroidView()

// TLHC模式
initAndroidView() 39028資訊網——每日最新資訊28at.com

這其實帶來了很大的復雜性。首先,開發者需要自行理解不同模式的適用場景,進行正確的調用。39028資訊網——每日最新資訊28at.com

其次,隨著 Flutter 版本的演進,默認的模式也在變化。例如在早期只有 VD,到 1.2 提供 HC,3.0 又引入 TLHC。這意味著在版本升級后,你的混合視圖可能會在不知情的情況下發生渲染模式變化,導致問題。39028資訊網——每日最新資訊28at.com

再者,TLHC 存在對 SurfaceView 的兼容性問題。就算默認使用 TLHC,后續引入 SurfaceView 也可能觸發問題。39028資訊網——每日最新資訊28at.com

39028資訊網——每日最新資訊28at.com

除此之外,不同模式的性能開銷也存在差異。HC 和 TLHC 的額外渲染消耗需要評估。模式切換也可能影響渲染性能。39028資訊網——每日最新資訊28at.com

綜上所述,困擾 Flutter Android 混合開發的主要問題在于:39028資訊網——每日最新資訊28at.com

  1. 存在多種共存的渲染模式,各有特性,選擇復雜
  2. 模式之間兼容性存在,可能引入難以察覺的問題
  3. 性能開銷和穩定性難以保證

這已經成為困擾 Flutter 混合渲染的主要困境。39028資訊網——每日最新資訊28at.com

開發者應對策略39028資訊網——每日最新資訊28at.com

面對復雜的混合渲染困境,Flutter 開發者也形成了一些應對策略:39028資訊網——每日最新資訊28at.com

  1. 優先使用 TLHC 模式,能覆蓋更多場景
  2. 調用時詳細指定模式,不要依賴默認值
  3. 注意版本變更帶來的潛在問題
  4. 留意是否引入了 SurfaceView 等不兼容場景
  5. 評估不同模式的性能開銷區別
  6. 通過自身封裝控制模式變更范圍
  7. 提前測試不同模式的兼容性

當然,這需要開發者對不同混合渲染模式有足夠的理解,才能做出正確的技術選型。實際使用中也需要關注模式帶來的兼容性風險,建立健壯的自測方案。39028資訊網——每日最新資訊28at.com

未來 Flutter 混合渲染模式是否還會繼續增多也需要持續跟進。理想情況下,如果能夠演進出一個統一的混合解決方案,將大大簡化 Android 平臺的混合開發。39028資訊網——每日最新資訊28at.com

總結39028資訊網——每日最新資訊28at.com

Flutter 基于 Skia 的獨立渲染機制,給其在 Android 平臺的混合開發帶來了挑戰。經過幾年探索,Android 形成了多種混合渲染方案。但都無法完美解決問題,它們的共存也增加了復雜性。39028資訊網——每日最新資訊28at.com

開發者需要深入理解不同模式,并有針對性地進行場景選擇和風險評估。未來仍需要社區持續努力,簡化這一關鍵的技術難題,以進一步發揮 Flutter 的跨平臺優勢。39028資訊網——每日最新資訊28at.com

本文鏈接:http://www.rrqrq.com/showinfo-26-80-0.html掘力計劃第 20 期:Flutter 混合開發的混亂之治

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 摸魚心法第一章——和配置文件說拜拜

下一篇: 2023 年的 Node.js 生態系統

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • 6月iOS設備好評榜:第一蟬聯榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • 量化指標是與非:挽救被量化指標扼殺的技術團隊

    作者 | 劉新翠整理 | 徐杰承本文整理自快狗打車技術總監劉新翠在WOT2023大會上的主題分享,更多精彩內容及現場PPT,請關注51CTO技術棧公眾號,發消息【WOT2023PPT】即可直接領取
  • 慕巖炮轟抖音,百合網今何在?

    來源:價值研究所 作者:Hernanderz“難道就因為自己的一個產品牛逼了,從客服到總裁,都不愿意正視自己產品和運營上的問題,選擇逃避了嗎?”這一番話,出自百合網聯合創
  • 騰訊蓋樓,字節拆墻

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之“想重溫暴刷深淵、30+技能搭配暴搓到爽的游戲體驗嗎?一起上晶核,即刻暴打!”曾憑借直播騰訊旗下代理格斗游戲《DNF》一
  • 信通院:小米、華為等11家應用商店基本完成APP簽名及驗簽工作

    中國信通院表示,目前,小米、華為、OPPO、vivo、360手機助手、百度手機助手、應用寶、豌豆莢和努比亞等9家應用商店,以及抖音和快手2家新型應用分發平
  • 華為HarmonyOS 4.0將于8月4日發布 或搭載AI大模型技術

    華為宣布HarmonyOS4.0將于8月4日正式發布。此前,華為已經針對開發者公布了HarmonyOS4.0,以便于開發者提前進行適配,也因此被曝光出了一些新系統的特性
  • 三翼鳥智能家居亮相電博會,讓用戶體驗更真實

    2021電博會在青島國際會展中心開幕中,三翼鳥直接把“家”搬到了現場,成為了展會的一大看點。這也是三翼鳥繼9月9日發布了行業首個一站式定制智慧家平臺后的
  • “買真退假” 這種“羊毛”不能薅

    □ 法治日報 記者 王春   □ 本報通訊員 胡佳麗  2020年初,還在上大學的小東加入了一個大學生兼職QQ群。群主“七王”在群里介紹一些刷單賺
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
777午夜精品免费视频| 狂野欧美一区| 国产乱子轮精品视频| 国产v综合v亚洲欧| 91视视频在线观看入口直接观看www| 你懂的亚洲视频| 亚洲一区二区高清视频| 777色狠狠一区二区三区| 亚洲国产成人午夜在线一区| 亚洲视频一二三| 国产一区中文字幕| 狠狠综合久久| 在线看国产一区二区| 精品国一区二区三区| 樱桃视频在线观看一区| 国产曰批免费观看久久久| 欧美jizzhd精品欧美喷水| 一区二区高清视频| 日韩午夜在线观看视频| 国产精品久久久久一区| 日韩激情一二三区| 99久久精品一区| 亚洲深夜福利| 日韩精品一区二区三区在线播放 | 日韩中文字幕av电影| 97aⅴ精品视频一二三区| 久久国产日本精品| 精品捆绑美女sm三区| 亚洲国产精品久久久男人的天堂| 成人免费毛片片v| 久久久久国产一区二区| 久久精品欧美一区二区三区不卡| 日本不卡视频在线| 永久91嫩草亚洲精品人人| 91精品在线一区二区| 亚洲电影一区二区| 国产精品sm| 日韩欧美卡一卡二| 日本视频免费一区| 亚洲网站在线| 日韩视频一区二区在线观看| 五月激情综合色| 欧美体内she精视频在线观看| 欧美午夜精品理论片a级按摩| 18欧美亚洲精品| 国产成人自拍网| 国产欧美一级| 国产拍欧美日韩视频二区| 国产一区欧美日韩| 美女诱惑一区| 亚洲欧洲精品一区二区三区 | 欧美韩国日本综合| 国产一区二区中文字幕| 国产伦一区二区三区色一情| 久久综合色8888| 国产中文字幕一区| 久久在线视频| 亚洲综合色在线| 亚洲午夜精品福利| 久久久久久久久免费| 国产高清在线观看免费不卡| 欧美午夜精品一区二区三区| 午夜精品福利一区二区三区av| 亚洲福利免费| 国产精品久久午夜夜伦鲁鲁| 99riav久久精品riav| 日韩欧美一级二级三级| 精品亚洲免费视频| 91黄色小视频| 亚洲成人免费电影| 国产亚洲一级| 亚洲天堂成人网| 激情久久一区| 欧美国产精品一区二区三区| 成人免费视频一区| 欧美v日韩v国产v| 懂色av一区二区三区蜜臀| 在线综合+亚洲+欧美中文字幕| 麻豆精品久久精品色综合| 久久都是精品| 亚洲国产乱码最新视频| 伊甸园精品99久久久久久| 中国av一区二区三区| 农村妇女精品| 精品成人一区二区三区| 国产成人精品亚洲日本在线桃色| 欧美日本精品一区二区三区| 精品一区二区三区在线观看国产| 色播五月激情综合网| 奇米影视一区二区三区| 久久一本综合频道| 日本强好片久久久久久aaa| 色94色欧美sute亚洲线路一久 | 亚洲精品美女91| 中文字幕亚洲一区二区av在线| 国产综合18久久久久久| 国产精品短视频| 亚洲精品日本| 一区二区三区精品视频在线| 中日韩视频在线观看| 亚洲国产综合人成综合网站| 免费亚洲一区二区| 日韩不卡手机在线v区| 欧美日韩五月天| 国产福利不卡视频| 精品久久久网站| 欧美深夜福利| 依依成人精品视频| 久久精品导航| 奇米一区二区三区av| 欧美美女bb生活片| 成人久久久精品乱码一区二区三区| 久久夜色精品国产欧美乱极品| 午夜精品999| 一区二区三区自拍| 久久精品九九| 国产麻豆精品在线观看| 日韩久久久精品| 欧美久久九九| 亚洲精品久久久久久国产精华液| 亚洲一区二区在| 蜜臀av亚洲一区中文字幕| 欧美日韩不卡视频| 成人18视频日本| 国产精品福利av| 久久精品盗摄| 韩国精品免费视频| 久久久久久久精| 中国女人久久久| 美女在线观看视频一区二区| 8v天堂国产在线一区二区| 波多野结衣欧美| 亚洲三级免费观看| 在线免费观看日本一区| 成人精品高清在线| 一色屋精品亚洲香蕉网站| 久久久精品性| 国产成人福利片| 国产精品高潮呻吟| 日本高清成人免费播放| 国产成人精品1024| 一区免费观看视频| 色婷婷综合久久| 成人丝袜视频网| 亚洲色图欧美在线| 欧美系列一区二区| 91香蕉国产在线观看软件| 亚洲一区二区三区四区五区黄| 欧美精品自拍偷拍| 欧美人成网站| 日韩精品乱码免费| 欧美sm美女调教| 一本色道久久综合亚洲精品不卡 | 91国偷自产一区二区三区观看 | 九色porny丨国产精品| 久久先锋影音av鲁色资源| 99国产一区| 久久99国产精品尤物| 国产女人18毛片水真多成人如厕| 国产精品日韩精品欧美精品| 国产精品主播直播| 最新不卡av在线| 欧美日韩大陆在线| 一区二区在线不卡| 激情图区综合网| 中文字幕亚洲欧美在线不卡| 欧美视频一区二区三区四区 | 国产精品美女久久久久久久| 久久精品道一区二区三区| proumb性欧美在线观看| 亚洲一区二区在线免费观看视频| 欧美一级片在线| 国产一区二区你懂的| 国产69精品久久777的优势| 一区二区三区四区在线免费观看| 日韩一区二区高清| 麻豆91精品| 成人18精品视频| 三级精品在线观看| 欧美国产一区在线| 欧美肥大bbwbbw高潮| 一区二区三区偷拍| 成人免费av在线| 天天色天天操综合| 欧美激情在线一区二区| 欧美日本免费一区二区三区| 99综合在线| 99久久综合色| 青娱乐精品视频在线| 中文字幕制服丝袜成人av| 日韩一区二区免费在线电影| 久久久久91| 亚洲成人原创| thepron国产精品| 日本不卡视频一二三区| 亚洲日穴在线视频| www一区二区| 欧美视频一二三区| 一本色道久久精品| 欧美va天堂在线|