Я заметил, что мое приложение начинает становиться вялым, когда я меняю URL слишком много раз. Я подозреваю, что это связано с тем, что у меня есть маршруты, созданные таким образом, что они создают экземпляр нового представления каждый раз, когда URL-адрес посещен, а не уверен, есть ли другой способ сделать это. Возможно, я недостаточно разбираюсь в javascript. Что происходит с представлениями, которые я создал после того, как они больше не используются, или, другими словами, когда я посещаю новый маршрут?Я создаю слишком много объектов в моих backbone.js маршрутах?
var Router = Backbone.Router.extend({
routes: {
'':'doSomething',
'helloworld':'doSomethingElse'
}
});
var app_router = new Router;
app_router.on('route:doSomething', function() {
var thing = new SomeModel();
new someView({model : thing});
});
app_router.on('route:doSomethingElse', function() {
var thing = new SomeModel();
new someOtherView({model : thing});
});
так что в этом простом примере, если бы я был щелкать назад и четвёртое по ссылкам <a href="#">
и <a href="#helloworld">
бы там быть просто наращивание зрения и объектов модели? и если бы это было бы проблемой. Я бы предположил, что память будет съедена, но я могу просто не понимать вещи правильно.
Вот скриншот временной шкалы, когда я нажимаю на четвертую позицию между двумя маршрутами. Похоже, что есть слушатели, которые, как я предполагаю, исходят от слушателей событий, которые я установил на одном из конкретных представлений. Я думаю, что это создает новых слушателей при каждом экземпляре.
Вы протечки память? Вы проверили инструменты разработчика вашего браузера? –