在单页应用程序中,我如何确定何时丢弃渲染的部分,而不是隐藏它以降低浏览器内存



我正在将企业WPF应用程序迁移到web应用程序。在这一点上,倾向于使用ASP.net mvc3、backbone.js.的单页应用程序

真的只是在寻找最佳实践。当前的WPF应用程序允许用户在显示大量数据的许多选项卡之间来回切换。我想复制这个功能,并关注:

  1. DOM中的数据量会不会变得太大,浏览器无法处理
  2. 如果用户可能长时间打开应用程序,我该如何保持这些数据的最新状态

如有任何建议,我们将不胜感激!

我已经使用Backbone.js和类似于Backbone的专有MVC js引擎构建了几个单页web应用程序。根据这一经验,我可以告诉您,没有硬性规则,但如果您将应用程序视为一个层次结构,它将帮助您定义何时应该销毁对象。例如,在我的一个应用程序中,有几个模块,每个模块都与特定的业务问题或问题域有关。我的一贯规则是,每当业务问题发生变化时,我都会销毁当前模块,然后加载下一个模块。模块本地的所有导航都将简单地隐藏和显示。

在我正在开发的当前应用程序中,我们可以将应用程序完全打造成一个单页web应用程序,但我们决定为模块提供自己的html文件,因此导航到不同的模块将进行重新加载。为了节省对服务器的调用,我们引导最常见的数据,并将其与页面一起呈现为JS对象。这是一种混合方法,对我们来说效果很好。

最新更新