我正在打包适用于 iOS 和 Android 的 Adobe Air 应用程序,并且我的 (RAM) 内存使用量超过 100MB。我的游戏(RPG)中有大量 Assets 。 Assets 的数量/大小似乎直接影响内存使用。内存使用情况在声明或实例化任何项之前就已存在。我可以制作一个没有 ActionScript 的空白项目,并且根据我库中资源的数量/大小,内存使用量仍然超过 100MB。
我正在寻找一种打包应用程序的方法,以便在游戏启动时不会将每个 Assets 加载到内存中。我尝试将我的资源打包到 SWC 中并将其导入到我的项目中(使用“合并到代码”选项),结果是相同的。
1) 有没有办法 bundle SWC,使其内容不会立即加载到内存中?
2) 我可以尝试其他方法,以便我的应用程序不会立即将资源加载到内存中吗?
我无法进一步优化我的音频 Assets (该问题的最大贡献者)。这是一款音乐游戏,我无法真正低于 128kbps MP3。
Flash Pro CS6 - ActionScript 3 - Adobe Air 3.3
最佳答案
据我所知,您无法在运行时加载swc文件。另一方面,您可以在运行时加载 SWF 文件。
因此,您可以将资源分成多个 SWF 文件,然后在适当的时候加载您需要的文件。如果您想从加载的 SWF 文件库创建项目,您将使用 ApplicationDomain 和 getDefinition。
关于android - 如何减少包含 1,000 个资源的 AIR Flash 应用程序中的内存 (RAM) 使用量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11991391/