Sencha Touch 2如何清理资源

时间:2012-08-22 11:39:47

标签: sencha-touch sencha-touch-2

我开始使用Sencha Touch 2,我只是想知道它是如何处理资源清理的。

特别是:

  • 想象一下,我们有一堆由url重定向触发的控制器。这些Controller实例是否会被缓存,或者每次需要在控制器上调用方法时Sencha都会创建新的实例

  • 视图相同。 sencha是否缓存视图,或者每次需要再次渲染时都会重新创建它们。什么时候视图被破坏(如果是)?

  • 我可以控制sencha如何处理这些事情吗?

1 个答案:

答案 0 :(得分:11)

回答你的问题,

  1. Sencha只创建了每个控制器的一个实例。所以,我真的认为你不需要为控制器实例而烦恼。让Sencha处理这个问题。

  2. 实际上应该使用视图进行清理,因为视图的数量和复杂性与性能密切相关。

  3. Sencha没有专门清理其资源 - 开发人员必须明确地处理DOM清理(除了Javascript自己的垃圾收集机制)。因此,开发人员需要决定何时创建视图,是将其保留在DOM中以供将来使用,还是在隐藏后立即销毁它。让我举几个例子:

    :一种。

      

    假设单击按钮,用户将打开一个显示的INFO弹出窗口   有关该页面的一些信息。一旦用户阅读了信息,他就可以了   关闭弹出窗口。现在,从用户的角度来看,可能会有一个非常   用户重新打开弹出窗口的可能性很小。所以,最好的将是   如果弹出窗口在用户关闭后立即从DOM中删除。   无论如何,如果用户想要重新打开它,请重新创建弹出窗口并显示   它

    <强>乙

      

    同样假设用户在登录页面并登录到   应用。用户几乎不回到登录页面   应用程序。因此,一旦隐藏了登录View实例,就将其销毁。

    因此,这些是可以在需要时显式删除视图的一些场景。下面是一些参考资料,可以很好地了解Sencha的内存优化:

    a)Sencha Touch: Optimizing Memory Usage

    b)http://www.slideshare.net/senchainc/optimizing-performance