将用户对象存储为 Alloy.Globals 或 Commonjs 模块

Store user object as Alloy.Globals or Commonjs module

我正在尝试优化内存使用。在阅读了这篇关于内存管理 http://www.tidev.io/2014/03/27/memory-management/ 的文章后,我想将用户对象存储在 commonjs 模块中而不是 Alloy.Globals(当前实现)中。由于几乎每个屏幕都需要用户对象,所以我需要在每个控制器中包含那个 commonjs 模块,它不会增加内存使用量吗?我知道,钛缓存 commonjs 模块。但我真的不清楚它是如何减少内存使用的。任何人都可以解释一下 commonjs 模块在第一次加载然后在后续屏幕中加载时究竟是如何工作的。

将某些东西放在全局命名空间中,或将它们放在库中不会减少您的整体内存使用量。特别是如果你到处都需要它,那就没有意义了。 lib 的好处是当你只需要它时它有时只在实际需要时加载。

所以在你的情况下,没有必要纯粹出于内存原因重构它。

但是,出于组织目的,建议将功能放在 lib 文件夹中。