首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有大数据收集、内存问题的ngredux状态

具有大数据收集、内存问题的ngredux状态
EN

Stack Overflow用户
提问于 2017-03-09 12:27:39
回答 1查看 216关注 0票数 0

我们正在为我们的Angular应用程序实现ngRedux。不过我担心的是:内存使用,尤其是移动设备的内存使用。

我们的store state对象看起来像这样:

代码语言:javascript
复制
{
  leads : [],
  filters: [],
  applictionStatuses: [],
}

假设我们的用户在leads列表中选择了一个datefilter,它将从我们的API中捕获30.000条leads (例如一整年)。

根据我对redux的理解,state对象将被克隆,然后下一个对象将如下所示

代码语言:javascript
复制
{
  leads : [ {object}, {object} ...],
  filters: [ dateRange: { start: {date}, end: {end} }],
  applictionStatuses: [],
}

当前状态下的leads对象将保存30.000条记录。否当用户更改日期筛选器时,它将更新状态并使用新的日期筛选器创建新的状态。它将捕获或多或少的记录,并将其转化为线索。

从理论上讲,状态对象可能如下所示:

代码语言:javascript
复制
{
   leads : [ {object} ... times 40.000 ],
   filters: [ dateRange: { start: {date}, end: {end} } ],
   applictionStatuses: [],
}

这不是意味着在这个时候,在内存中将有3个状态存储,总共0+ 30.000 + 40.000导程= 70.000导程在内存中。状态的任何进一步更改都会不断复制状态和引线。

只有在我提交并压缩状态之前,我才会占用大量内存来记录前导记录。

我的推理是否有误,或者这是redux不可避免的吗?

我们可以决定将lead从redux存储中取出,或者放在一个单独的存储中,这样就不会有那么多的状态对象和所有这些lead对象。

对任何人的观点或整合都非常感兴趣。

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-10 01:32:55

不是的。Redux不会在生产环境的内存中保留以前的状态树。有关更多信息,请参阅我在Is there any way to "commit" the state in Redux to free memory?上的评论,以及Can a Redux store lead to a memory leak?Redux and ALL the application state上类似的相关答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42686735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档