高频数据交换下Flutter与ReactNative的对比

2018-10-29

(标题图片来自网络,侵删)

后端使用go写的socketio服务模拟期货行情数据,每10ms推送10条行情数据

ReactNative已经尽力优化了。

Flutter由于没flutter-socketio这个库不支持dart2.0以上的版本,所有用了安卓的socketio,通过事件与Flutter通讯。

1.内存占用

ReactNative

Flutter

2.FPS

ReactNative UI主线程满帧运行

Flutter Flutter渲染引擎没有满帧

但是ReactNative在满帧的情况下实际是卡住的,不能切换路由,后端服务关闭后仍然会执行一段时间,证明有事件堆积。

而Flutter不会影响路由切换,因为Flutter的路由切换在ui主线程上,而react-navigation跑在js线程上。Flutter虽不满帧但可以实时更新数据。

总结:在某些高性能场景下仍需要跨平台,Flutter是你唯一的选择!

Flutter的性能还可以进一步优化,例如采用udp发送行情数据、protobuf替换掉json也会有比较好的收益

上图是我测试的几种手机的极限性能,大家可以自己测试,代码在下方

gelove/quotationServer​github.com图标gelove/futures​github.com图标gelove/market​github.com图标

原文链接:zhuanlan.zhihu.com

上一篇:credential-management 在登录场景的应用
下一篇:echarts花样作死的坑
相关教程
关注微信

扫码加入 JavaScript 社区

相关文章

首次访问,需要验证
微信扫码,关注即可
(仅需验证一次)

欢迎加入 JavaScript 社区

号内回复关键字:

回到顶部