加载大型json时,网页崩溃

时间:2014-12-18 08:19:42

标签: javascript ajax json memory-leaks memory-profiling

我正在开发一个Web应用程序。要求是在第一页上加载60,000条记录。 我使用oboe library来传输20,000条记录中的JSON(目前我们只有JSON条20K条记录。随着JSON加载我处理它。 但是页面在4K-5K的负载之间崩溃。记录。

我尝试只加载JSON而不对JOSN做任何事情。那是我没有为oboe ajax请求附加任何处理程序。但页面仍然崩溃了。我描述了这个案例并发现了 (GC Root)占用703870536字节,其中(Global handles)占用703227252字节。我正在附上本案的内存分析器截图(summary-view,containment-view,statistics-view)。

我不知道如何释放这些记忆并避免崩溃。请帮忙。感谢。

Summary view

containment view

statistics view

1 个答案:

答案 0 :(得分:0)

根据您提供的信息很难准确说出您应该更改的内容,但我会尝试提供一般解决方案。根据您提供的信息,您可能会尝试同时阅读疯狂数量的json。

如果您更改为json的源以允许您一次读取一百条记录,则更新页面,然后请求更多记录并再次执行。你可以解决你的问题。还要确保将对象设置为null,并删除存储在堆上的信息,并在这两组记录之间加载。

请参阅此URL以了解其他api的分页,它为可能的实现提供了一个好主意。 https://developer.atlassian.com/confdev/confluence-rest-api/pagination-in-the-rest-api