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