我正在研究a real-time multiplayer game,我在服务器和客户端上使用Redux来存储应用程序的状态。
然而,由于我的游戏是实时的,因此发送到商店的动作量明显高于通常的应用程序。我怀疑这就是Redux使用大量内存的原因。
根据我的理解,Redux将所有分配到内存中的存储的操作存储起来,以便能够执行“time traveling”。我还注意到Redux DevTools允许你提交状态。
我想做的是提交申请,例如每10秒钟可以节省内存。我无论如何都不需要在我的应用程序中返回超过10秒,因此即使出于调试目的,也不需要存储所有操作。
Redux是否支持此功能?如果没有,有没有办法实现这种行为?
提前谢谢!
答案 0 :(得分:6)
请注意,虽然Redux DevTools会存储操作历史记录以启用时间旅行调试功能,但Redux本身不会 - 它只保留对当前状态的引用。由于呈现了动作列表和存储内容,DevTools还有一些额外的开销。
除此之外:是什么让你说Redux是"使用大量内存"? Redux使用的唯一内存是表示存储状态所需的任何内容。除非你有一些实际显示内存问题的特定基准,否则我不会将其视为一个有意义的问题。