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

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

ReactNative已经尽力优化了。

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

1.内存占用

ReactNative

Flutter

2.FPS

ReactNative 满帧运行

Flutter 渲染引擎没有满帧

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

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

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

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

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

后端 Flutter ReactNative

你可能感兴趣的:(移动开发,后端,ui)