Sencha Touch 2内存管理选项

时间:2012-05-01 11:51:13

标签: sencha-touch sencha-touch-2

我正在研究如何在Sencha Touch 2中节省内存。我会看到两个选项,我将在下面介绍。

我想获得两个选项之间内存消耗差异的建议,并知道我是否遗漏了任何内容。

内存保存选项

  1. 删除并销毁

    从容器中移除未使用的组件,并将它们摧毁。当他们再次需要时,重新创建它们。

    优势

    容器引用的'autoCreate'选项和容器配置的'autoDestroy'选项可以极大地帮助这种方法。

    缺点

    要在销毁之前重新创建视图,您需要确保要重新创建的每个重要信息(例如列表中的滚动位置,地图中的地图中心)在其他地方保持状态。 / p>

  2. 删除

    从容器中移除未使用的组件而不破坏它们。当它们再次需要时,将它们重新连接到容器上。

    优点

    1. 无需将GUI相关信息保存在某个州。
    2. 即使没有出现在DOM中,组件也可以更新。
    3. 缺点

      1. 组件从DOM中清除,但Sencha对象仍保留在内存中
      2. 你需要在某处保留独立组件,并确保在创建新组件之前检查并附加现有组件

1 个答案:

答案 0 :(得分:2)

我也在Sencha论坛上发布了这个帖子:http://www.sencha.com/forum/showthread.php?200314-Memory-Management-Options

我得到了以下内容,而不是一般性答案:

  

如果删除组件但不销毁它,则可以最小化DOM大小,但当然您仍然可以在设备内存中使用该组件。好处是,由于DOM大小下降,您的性能会更好,而DOM大小会比内存中的某些组件产生更大的影响。