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

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

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

后端使用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/quotationServergithub.com图标gelove/futuresgithub.com图标gelove/marketgithub.com图标

编辑于 2018-10-26

文章被以下专栏收录