Flutter vs React Native vs Native:深度性能比较

移动开发 作者: 2024-08-24 23:05:02
老孟导读:这是老孟翻译的付费文章,文章所有权归原作者所有。 欢迎加入老孟Flutter交流群,每周翻译2-3篇付费文章,精彩不容错过。 原文地址:https://medium.com/swlh/flu

研究背后的故事

硬件信息:

仓库地址

用例1 —列表视图基准

在这种情况下使用的第三方库:

  • 加载和缓存图像 — Nuke
  • 加载和缓存图像 — Glide
  1. 所有测试均显示出大致相同的FPS。
  2. 与Flutter和React Native相比,Android Native使用的内存只有一半。
  3. React Native需要最多的CPU开发。原因是在JS和本机代码之间使用JSBridge,这会导致序列化和反序列化方面的资源浪费。
  4. 关于电池开发,Android Native具有最佳效果。 React-native落后于Android和Flutter。运行连续动画会在React Native上消耗更多电池电量。
iPhone 6s test
  1. FPS,React Native的结果比Flutter和Swift差。原因是无法在iOS上使用IoT编译。
  2. 内存。 Flutter与Native在内存消耗上几乎一样,但在CPU上仍然较重。在此测试中,React Native远远落后于Flutter和native。
  3. Flutter和Swift之间的区别。当iOS Native积极使用GPU时,Flutter积极使用CPU。 Flutter中的协调会增加CPU的负载。

用例2 —繁重的动画测试

Android
  1. Android和React Native在性能上有相似之处。很明显,因为Lottie for React Native使用本地方式(16–19%CPU,30–29 FPS)。
  2. Flutter的结局令人惊讶,在演出中有点糟。 (12%的CPU和9 FPS)。
  1. Android需要最少的内存(205 Mb); React Native需要280 Mb,Flutter需要266 Mb。
  2. 冷启动应用程序。根据此指标,Flutter处于领先地位(2秒)。对于Android Native和React Native,大约需要4秒钟。
iOS
  1. iOS和React Native在此测试中的结果几乎与Lottie for React Native使用本地方法相同。
  2. Flare和Flutter不会令人惊讶。Flare 还有很长的一段路要走。
  3. iOS Native需要最少的内存量(48 Mb)。 React Native需要135 Mb,Flutter需要117 Mb。
  4. 冷启动应用程序。根据此指标,Flutter处于领先地位(2秒)。对于iOS和React Native,大约需要10秒钟。

用例3-更重的动画会测试旋转,缩放和淡入淡出。

Android
  1. Native 显示出最佳性能和最有效的内存消耗。
  2. Flutter显示出非常接近本机fps,并且内存开销增加了两倍,但性能仍然不错。
  3. React Native-在这种情况下表现不佳。
iOS
  1. iPhone 6s足够强大,在所有3种情况下都不会降低fps。
  2. Native 使用的资源较少,而GPU则最多使用。
  3. React Native主要使用CPU进行渲染,而Flutter使用GPU。
  4. React Native使用了更多的内存。

总结

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68071.html