预加载图像/声音以避免滞后

时间:2010-11-15 11:49:02

标签: iphone audio uiimageview

我正在开发一款游戏,我有一个射击物体的玩家。当播放器发出声音时播放。当他击中一个物体时,它会产生爆炸动画和声音。我使用UIImageViews绘制播放器和对象,我使用AudioServicesPlaySystemSound播放声音。

我遇到的问题是,我第一次拍摄时和第一次击中物体时游戏“滞后”。我认为这是因为这些对象尚未加载到内存中,因为只有第一次生成这些对象时才会出现问题。在第一次游戏没有遭遇滞后之后。

有没有办法将这些对象预先加载到内存中,以便每次第一次生成新对象时游戏都不会延迟?

1 个答案:

答案 0 :(得分:2)

只需将UIImage实例的创建和AudioServicesCreateSystemSoundID()的调用放在游戏实际开始之前运行的方法中。只要您的资源足够小以适应内存,就应该这样做。

但是,您应该监听内存警告,并释放当前未使用的所有对象以释放尽可能多的内存。在重新加载应用程序上的这些对象时,用户可能更喜欢稍微滞后,因为内存不足。