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

时间:2017-08-04 09:14:21

标签: titanium appcelerator appcelerator-titanium appcelerator-alloy

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

1 个答案:

答案 0 :(得分:1)

将某些内容放在全局命名空间上,或将它们放在lib中不会降低整体内存使用量。特别是如果你要在任何地方都要求它没有意义。 lib的好处是当你只需要它时,它有时只在实际需要时加载。

所以在你的情况下,没有必要纯粹为了记忆而重构它。

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