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