Flutter 1.12 最新 hotfix 與 2020 路線計劃

戀貓de小郭發表於2020-02-02

大年初三的時候 v1.12.13+hotfix.7 終於釋出了,該版本釋出後總算把 1.12.13 版本上的幾個大坑填完,算是達到“能用”的穩定版本;同時 1 月 30 號官方也釋出了 2020 Flutter 最新的路線計劃,也算是新的一年“美好”的開始吧。

一、1.12.13+hotfix.7

v1.12.13+hotfix.7 版本主要在於解決了我比較關心的三個問題,包括: reportFullyDrawn 異常、華為手機上崩潰、游標和鍵盤輸入異常 這幾個問題。

1、華為手機上崩潰

相信這個問題是 1.12 版本國內開發者最頭痛的,出現崩潰的華為手機會丟擲 Skia 異常的問題:

Flutter engine crashes on some Android devices due to "Failed to setup Skia Gr context"

該問題的 issue 主要集中在 #47804#47164 上,產生原因主要在於 skia 的相容繪製上,感謝 yrom 同學在修復之前提供瞭如下的臨時解決辦法,而本次官方則是通過 #48733 回滾了 skia 來完成修復。

FlutterMain.ensureInitializationComplete(context, new String[]{FlutterShellArgs.ARG_ENABLE_SOFTWARE_RENDERING});

複製程式碼

Or

Intent flutterActivity = ...; // build intent
flutterActivity.put(FlutterShellArgs.ARG_ENABLE_SOFTWARE_RENDERING, true);
startActivity(flutterActivity);
複製程式碼

2、鍵盤輸入和游標

這類問題上 Flutter 其實跌過好幾次跟頭,從 PlatformView 的支援時就出現無法輸入的問題,還有華為刪除輸入文字出現崩潰(怎麼又是華為?)等等的異常,而這次主要是類似 #46159該問題主要是輸入文字時鍵盤被凍結了,或者輸入的內容消除了。

這次官方通過 #45698engine/#14053 的 pr 修復了該問題,該問題主要和 TextAffinity 的使用有一定關係, TextAffinity 主要用於設定游標顯示在輸入文字前面還是後面,該異常算是“好心辦了壞事”導致。

6b66d79 這個提交中官方增加了 Track and use fallback TextAffinity for null affinity platform TextSelections.,而這個提交主要是增加了了預設的 _fallbackAffinity 系列的邏輯,官方在本次 hotfix 上將該提交回滾了。

Flutter 1.12 最新 hotfix 與 2020 路線計劃

Flutter 1.12 最新 hotfix 與 2020 路線計劃

Flutter 1.12 最新 hotfix 與 2020 路線計劃

3、reportFullyDrawn

reportFullyDrawn 主要是 Android 上用提交應用初始化到 reportFullyDrawn 方法被呼叫的時間,該問題主要是版本相容判斷導致。

Flutter 1.12 最新 hotfix 與 2020 路線計劃

二、2020 路線計劃

從 2020 年 Flutter 公佈的 Roadmap 可以看到在於提高穩定性的同時,重點會是在於 Web 與 macOS 上的推進。

在 2019 年 12 月 舉行的 Flutter Interact 活動中, Flutter 的對 Web 的支援已發展到了 beta ,所以接下來 Flutter 打算重點推進這項工作,從而使得 Web 與 Android 和 iOS 能夠處於平等應用地位。

同時 Flutter 今年也將繼續努力,提高 Flutter 構建 macOS 桌面應用的可行性,Flutter 今年的目標是:應該能夠 flutter createflutter run 讓程式可以在瀏覽器,macOS,Android,Fuchsia 和 iOS 上正常執行,並支援熱重灌、外掛、測試和釋出。

最後官方表示首先會確保 Material Design 的部件庫在所有這些平臺上都能正常執行,至於 Cupertino 控制元件在 PC 上的完美支援還不在 2020 的計劃之內。

這些計劃從官方的 milestones 也可以看到明顯的傾向。

資源推薦

Flutter 1.12 最新 hotfix 與 2020 路線計劃

相關文章