我看到的大多数应用都有加载屏幕,大概是为了防止游戏中出现打嗝并预先加载游戏后期所需的所有数据。我目前正在开发一个跳过每隔几帧的游戏,大概是因为渲染到屏幕上的对象的图像数据没有被保存在内存中。在应用程序运行的整个过程中,程序员实际上做了什么来将这些数据保存在内存中?我可以考虑使用数组(例如NSArray
或NSMutableArray
来保存图像,但是我仍然很难看到它将如何改善应用程序的性能。也许我完全在这里切断。非常感谢来自该地区有经验的人的建议。
修改
对于投票结束这个问题的人,我的问题更具体地说是:ios游戏将其数据加载到活动内存中以便在运行时实现轻松和低开销访问的典型方法是什么?
答案 0 :(得分:0)
我见过几个在应用程序加载时下载配置和元数据的应用程序,有些还下载图像和音频文件。 通常他们将数据存储在文档或缓存文件夹中,因此他们不必在游戏过程中等待下载。
我遇到的另一种技术是下载zip文件并将其扩展到缓存目录中。除非需要新的东西,否则大多数这些应用程序下次不会加载文件。
不要将图像加载到内存中,也不要加载到nsarray或nsmutabearray中。您没有足够的内存来缓存这样的图像。你应该直接下载它们
修改强>
您可以使用应用程序加载阶段从服务器下载更多资源(图像,音频,plist文件),但在下载并存储到文件系统后,它们应被视为IPA中存在的资源。只有在需要时才应将它们加载到内存中