目前,我正在使用SKS文件通过空节点来设置我的sprite位置,或者在某些情况下,我实际上是将sprite拖放到场景编辑器中。在遇到一些加载问题后,我被建议通过纹理图集预先加载所有的纹理。在转到此方案之前,我遇到的一个问题是,每次加载和重新加载场景时,我的didMoveToView
方法都会使用越来越多的内存。我的SpriteKit游戏有3个场景:主菜单,关卡选择和关卡场景。我的场景应该如何管理?我是否应该创建每个实例并全局存储它们,以避免使用太多内存?目前,每个场景都可以初始化和调用presentScene
。对于我的关卡场景,有大量的设置需要完成,当从关卡选择场景加载时,我不确定是否应该一遍又一遍地重新创建。我希望我所问的内容已经很清楚了。提前谢谢。
发布于 2015-07-14 12:43:28
SK在幕后执行所有的内存管理和缓存。你真的无法控制任何事情。如果你的代码在某处没有内存泄漏或保留周期,你的应用程序的内存使用量将在某个时间点达到顶峰。
如果需要,可以在-(void)willMoveFromView:(SKView *)view
方法中手动‘清空’所有场景对象和[self removeAllChildren];
。
https://stackoverflow.com/questions/31397375
复制