使用Backbone应用程序设计模式以避免内存泄漏

时间:2014-03-05 22:57:19

标签: javascript backbone.js memory-leaks

在我的骨干应用程序的路由器中,我使用闭包来存储需要身份验证的视图实例。这个想法是,当应用程序首次加载时,如果需要身份验证,路由器将缓存当前视图请求,然后查询服务器以检查当前用户是否经过身份验证。验证请求完成后,存储在闭包中的视图将呈现。

使用Chrome的内存管理分析工具,我发现此设计模式会造成内存泄漏。什么是更好的设计模式来实现相同的功能而不会造成内存泄漏?

if (session && !app.session.is_authenticated()) {
     //if view requires authentication and is not logged in, then listen for login events
     (function(that, viewContent) {
         that.listenTo(app.session, "authenticated", function() {
             that.mainView.renderPageContent(viewContent);
         });
     })(this, viewContent);
} else {
    this.mainView.renderPageContent(viewContent);
}

0 个答案:

没有答案