2014-12-18 3 views
1

Я работаю над веб-приложением. Требование - загрузить 60 000 записей на первую страницу. Я использую oboe library для потоковой передачи JSON из 20 000 записей (сейчас у нас есть JSON из 20K записей). Когда загружаются JSON, я обрабатываю его. Но страница вылетает между загрузкой 4K-5K. записей.сбой страницы в хроме при загрузке большого json

Я попытался загрузить только JSON и ничего не делать с JOSN. То есть я не прикреплял обработчиков к запросу oboe ajax. Но все же страница разбилась. Я профилировал этот случай и обнаружил, что (GC Root) занимает 703870536 байт и внутри него (Global handles) занимает 703227252 байт. Я прикрепляю скриншоты профилей профилей памяти (сводный-просмотр, сдерживание-просмотр, просмотр статистики) этого случая.

Я не знаю, как освободить эту память и избежать сбоя. Пожалуйста помоги. Благодарю.

Summary view

containment view

statistics view

+0

Вам удается сделать эту работу прекрасной? Я столкнулся с той же проблемой, используя гобой в приложении AngularJS – MarBVI

ответ

0

Трудно точно сказать, что вы должны изменить на основе информации, которую вы предоставили, но я попытаюсь дать общее решение. Основываясь на информации, которую вы предоставили, это звучит так, как будто вы пытаетесь читать в безумном количестве json за один раз.

Если вы изменили исходный код json, чтобы вы могли читать по сто записей за раз, обновите страницу, а затем попросите больше записей и сделайте это снова. Вы можете решить свою проблему. Также не забудьте установить объекты в null и избавиться от информации, которую вы храните в куче между загрузками наборов записей.

См. Этот URL-адрес для разбиения на страницы остального api, это дает хорошее представление о возможной реализации. https://developer.atlassian.com/confdev/confluence-rest-api/pagination-in-the-rest-api