Skip to content

导言

本Flutter性能优化详解手册为JKKF.CN原创,不授权任何条件下的转载。我们从多年的Flutter开发经验中,为各位全方位总结Flutter性能优化的技巧。我们将完成手册的逐步更新,如果您有任何好的建议欢迎一同分享给诸多即将入坑的Flutter开发者。

Flutter的性能真的接近原生吗?这个答案因人而异,但从实际的情况来看,Flutter的性能其实得分端,分设备来看。对于IOS和Android都有不一样的性能查询表现,总体来看目前的最新版本的Flutter距离原生的水平差距并不大。

值得注意,这并非一个入门教程,如果你刚开始学习Flutter那么需要参考官方文档。有关于Dart和Flutter的基础教程,我们会在后续的编写中增加新的教程。

相比Uniapp 的性能优势

UniAPP无法和Flutter相比,也没有比较的必要。因为UniAPP的底层是H5,而Flutter的底层是原生。Uniapp的优势主要在于小程序的开发方式,可以快速开发,并且可以跨平台。但是Uniapp的缺点也很明显,因为Uniapp的底层是H5,所以性能和原生的差距还是很大。所以Uniapp在APP开发的未来已经很受限,Webview有多大的能耐,它就有多大的能耐。而Flutter则不一样,还有很多进化空间,而且从UI的体验来看,目前的Flutter在安卓下,动画也好,组件也好可以做到与原生一致。(不得不说在过去的版本中,掉帧真的非常明显)。除去QT这些经典,高入门成本的框架,Flutter的跨平台逻辑是目前最理想的
当然,如果Uniapp适合你,那么优先选择它,因为有时候,Flutter的UI表现,在非极致的优化下,真的比不过Uniapp。这取决于开发者对Flutter实现的了解和能力。
专题Flutter和Uniapp哪个好?

相比React Native

React Native使用了JS来调用原生的API,从而实现UI的绘制。如果你在犹豫React Native和Flutter,那么React Native的优点就是和原生系统一致的组件,原生的体验。所以Flutter就是一个画板,核心的就是你在这个画板上,如何绘制你的UI,并轻易做到在多个平台上表现的一致。而RN则和系统组件耦合,在不同的设备中,要保证UI的一致性必须进行精细化的调试,甚至接受差异。
此外,使用React Native你无需在学习一门新的语言,Dart因为你只需要掌握JS。不过话说回来,如果你有C# Typescript等开发经验,那么这不是什么难事,因为语法上非常相近。
Pub.dev是一个很好的依赖管理库,如果你需要使用第三方库,那么Pub.dev是一个不错的选择,可以快速找到你要的库。但React native中,你就去搜遍全网吧。

好了,言归正传我们的重点是如何进行Flutter的性能优化,后续的内容我们会提到多种内容,总的来说就是:

  • 语言层面的性能优化
  • Flutter渲染时组件层面的优化
  • 逻辑和UI的解耦,即阻塞预防
  • 图片和网络的优化
  • 缓存和数据存储的优化
  • 代码优化
  • 图片与内存
  • 框架层面的优化
  • 动画等 Flutter的优化是很复杂的,我们提到的内容,未必充足或者在不同的使用条件下,未必正确。
    更多内容正在逐步更新。

仅用于培训和测试,通过使用本站代码内容随之而来的风险与本站无关。版权所有,未经授权请勿转载,保留一切权利。
ICP备案号:滇ICP备15009214号-13   公安网备:滇公网安备 53312302000061号