前端大势所趋---Flutter 这篇文章会让你行动起来( 九 )

Flutter 官方指出其旨在提供 60 帧/秒的刷新率 , 60 fps 意味着大约平均每 16 ms 渲染一帧 。 我们知道 , 当 UI 不能平滑的渲染时就会出现掉帧 。 举个例子 , 假如有一帧执行的东西太多 , 花费了 160 ms 的时间去渲染 , 这段期间就会产生丢帧现象 , 从而就会看到动画出现了明显的抖动 。 flutter release 版本是没法去测试渲染指数的 , 这里我们还是以 profile 模式运行 , 然后在用官方给我们提供的 Flutter Inspector 工具去展示 fps 变化 。 下面看 Gif 图:

我的手机是小米Note 2 , 高通骁龙821处理器 4G 内存 , 性能大概属于 Anroid 阵营中上等 。 我打开 app 后先是平稳的滑动 listview , 然后又快速的滑动 , 由图可看出 , 刷新率起初恒定在 60fps , 当我快速滑动的时候 , 刷新率大约保持在58~59 之间 , 所以 flutter 官方所说 fps 恒定在 60fps 还是可信的 。

总结

通过以上的分析 , 我们可以很明确的得出结论 , android 原生在内存、CPU 资源占用方面要低于 flutter , 并且安装包的体积也要小于 flutter , 所以 , 不考虑其他因素 , 单纯从性能角度来说 , android 原生肯定是要优于 flutter 的 。 但 flutter 也有它的优点 , 比如跨平台的开发、毫秒级的热重载等等 , 另外跨端开发也逐渐的流行起来 , 所以 , 我们在学好android原生的基础上 , 对跨端开发也要抱有积极的心态 。

推荐阅读