【发布时间】:2012-05-01 11:51:12
【问题描述】:
我正在研究如何在 Sencha Touch 2 中节省内存。我看到了两个选项,如下所述。
我想就这两个选项之间的内存消耗差异获得建议,并想知道我是否遗漏了什么。
节省内存的选项
-
删除和销毁
从容器中移除未使用的组件,并销毁它们。当再次需要它们时,重新创建它们。
优势:
容器引用的“autoCreate”选项和容器配置的“autoDestroy”选项可以极大地帮助这种方法。
缺点:
要像销毁前一样重新创建视图,您需要确保您希望重新创建的每条重要信息(例如,列表中的滚动位置、地图中的地图中心)都保持在其他地方的状态。
-
删除
从容器中移除未使用的组件而不破坏它们。当再次需要它们时,将它们重新附加到容器中。
优势
- 无需将与 GUI 相关的信息作为状态保存在某处。
- 组件即使没有出现在 DOM 中也可以更新。
缺点
- 组件已从 DOM 中清除,但 Sencha 对象仍保留在内存中
- 您需要将分离的组件保存在某处,并确保在创建新组件之前检查并附加现有组件
【问题讨论】:
标签: sencha-touch sencha-touch-2