我已经阅读了有关此主题的所有帖子,但似乎没有人回答我的问题。
我的问题是什么时候将SKTexture / SKTextureAtlas加载到内存中?
根据我的阅读,您需要强烈引用任何加载到内存中的SKTexture或SKTextureAtlas [SKTexture preloadTextures: withCompletionHandler:]这样它就不会被ARC释放,这对我来说很有意义,因为当nobodies保留它时,对象将在方法结束时释放。我不要'吨了解与强大的指针SKTexture如何保持它不是'吨加载到内存中,不会告发'吨这使[SKTexture preloadTextures:withCompletionHandler:]多余的和不必要的,因为已经加载的纹理记忆。我显然遗漏了一些东西,所以任何见解都会很棒。
干杯!
答案 0 :(得分:2)
SKTexture Class Reference解释如下:
在以下情况下加载纹理数据:
调用纹理对象上的size方法。
调用另一个需要纹理大小的方法,例如创建一个使用纹理对象的新SKSpriteNode对象。
调用其中一个预加载方法(请参阅预加载纹理数据。)
纹理数据准备在以下情况下渲染:
使用纹理的精灵或粒子是正在渲染的节点树的一部分。
一旦SKTexture对象准备好渲染,它就会保持准备状态,直到删除对纹理对象的所有强引用。