我正在研究在Sencha Touch 2中节省内存的方法。我将看到两个选项,如下所述。

我想就这两个选项之间的内存消耗差异寻求建议,并知道我是否丢失了任何东西。

节省内存的选项

  • 删除并销毁

    从其容器中删除未使用的组件,并销毁它们。再次需要它们时,请重新创建它们。

    的优势:

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

    劣势:

    要按照破坏之前的状态重新创建 View ,您需要确保要重新创建的每条重要信息(例如,列表中的滚动位置, map 中的 map 中心)都保留在其他位置。
  • 删除

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

    的优势
  • 无需将与GUI相关的信息保留为状态。
  • 即使未出现在DOM中,也可以对其进行更新。

  • 的缺点
  • 该组件已从DOM中清除,但Sencha对象仍保留在内存中
  • 您需要将分离的组件放在某个地方,并确保在创建新组件之前先检查并附加现有组件。
  • 最佳答案

    我也将其发布在Sencha论坛上:http://www.sencha.com/forum/showthread.php?200314-Memory-Management-Options

    我得到以下相当普遍的答案:

    关于sencha-touch - Sencha Touch 2内存管理选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10397246/

    10-12 15:29