Я поэкспериментировал с Backbone, чтобы посмотреть, является ли этот фреймворк хорошим выбором для дальнейшего использования в нашем приложении.Одно требование состоит в том, что мы должны поддерживать Internet Explorer 7+, а другое - отображать не менее 200 элементов на странице.
Для тестирования платформы я создал довольно простой список, и он работает безупречно во всех основных браузерах, кромеInternet Explorer 7. Кажется, что есть некоторые утечки памяти, так как каждый раз, когда я сбрасываю данные, общее время рендеринга увеличивается.
Я настроил некоторые тестовые сценарии:
С объявленными событиями: http://jsfiddle.net/mefraimsson/a2YMF/
Без объявленных событий: http://jsfiddle.net/mefraimsson/u6byQ/
У меня была одна идея, что объявленные события никогда не очищались, когда элементы были удалены и добавлены в DOM,Когда я запускаю тестовый сценарий «без объявленных событий», часто нажимая кнопку «Перезагрузить данные», время рендеринга довольно стабильно, но при запуске «С объявленными событиями» время рендеринга быстро увеличивается, а объем памяти, используемый для IE7, увеличивается.Вот почему я думаю, что где-то есть утечка памяти.
- Есть ли кто-нибудь, кто имел опыт рендеринга такого большого объема данных с помощью Backbone?
- Есть ли кто-нибудь, кто испыталпроблемы утечки памяти при работе с Backbone?
- Вы рекомендуете другой подход при работе с таким большим объемом данных с Backbone?Вместо большого количества вложенных представлений используйте одно представление и итерирование по данным в шаблоне может быть возможным решением, но тогда создается впечатление, что вы не получаете максимальную отдачу от Backbone?
- Каково ваше мнение?Как вы думаете, это связано с объявлением событий или это реализация Backbone, которая утечка памяти?
Заранее спасибо