专栏首页移动开发之家Flutter 1.12 最新 hotfix 与 2020 路线计划

Flutter 1.12 最新 hotfix 与 2020 路线计划

大年初三的时候 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 上将该提交回滚了。

image

image

image

3、reportFullyDrawn

reportFullyDrawn 主要是 Android 上用提交应用初始化到 reportFullyDrawn 方法被调用的时间,该问题主要是版本兼容判断导致。

image

二、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 也可以看到明显的倾向。

资源推荐

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【译】Flutter 1.20 发布

    谷歌对 Flutter 的定位是提供一个便捷的工具包,从而在任何设备上得到出色的绘制体验,所以对于每个 release 版本,将会努力确保 Flutter 能快...

    恋猫
  • 全网最全 Flutter 与 React Native 深入对比分析

    作为 GSY 开源系列的作者,在去年也整理过 《移动端跨平台开发的深度解析》 的对比文章,时隔一年之后,本篇将重新由 环境搭建、实现原理、编程开发、插件开发、编...

    恋猫
  • Flutter 开发实战与前景展望 - RTC Dev Meetup

    大家好,我是郭树煜,Github GSY 系列开源项目的作者,系列包括有 GSYVideoPlayer 、GSYGitGithubApp(Flutter\Rea...

    恋猫
  • Flutter 的野心,Google 的认真,是时候准备走一波了

    说实话,Flutter 身为 Google 旗下最重要的一步棋,可以说是承前启后。前指的是:基于 Android 和 iOS 的跨平台解决方案,后指的是:它也是...

    非著名程序员
  • Flutter系列(一)——详细介绍

    Flutter 是谷歌推出的开发移动UI框架,可以快速的在IOS和Android上构建高质量的原生用户界面。

    Demo_Yang
  • 2020 Flutter开源资源索引

    (3)Flutter Create 是我们发起的一次开发竞赛 https://github.com/pinkeshdarji/FlutterCreateSub...

    jerrypxiao
  • Flutter系列(一)——详细介绍

    Flutter 是谷歌推出的开发移动UI框架,可以快速的在IOS和Android上构建高质量的原生用户界面。

    Demo_Yang
  • 闲鱼基于Flutter技术的架构演进和创新

    最近一段时间一直学习Flutter,也尝试写一下Demo,但是在用的时候。从一开始惊艳到了,觉得写起来很爽,各种UI效果实现起来很棒,而且由于渲染机制,还让双端...

    Demo_Yang
  • Flutter the Future

    Flutter Interact 2019在双12的凌晨结束了,6个多小时的大会,每一分钟都让一个开发者感到惊艳。

    用户1907613
  • Flutter 核心原理与混合开发模式

    在 「Fan 直播」的 Flutter 混合开发实践中,我们总结了一些 Flutter 混合开发的经验。本文第一篇章将从 Flutter 原理出发,详细介绍 ...

    QQ音乐技术团队

扫码关注云+社区

领取腾讯云代金券