我已经阅读了有关此主题的所有帖子,似乎都没有回答我的问题。

我的问题是何时将SKTexture / SKTextureAtlas加载到内存中?

从我阅读的内容中,您需要保持对使用[SKTexture preloadTextures加载到内存中的任何SKTexture或SKTextureAtlas的引用:
withCompletionHandler:],这样它就不会与ARC一起发布,这对我来说很有意义,因为当没有新手保留该对象时,该对象将在方法结束时被释放。我不明白的是如何将具有强指针的SKTexture不会加载到内存中,这是否会使[SKTexture preloadTextures:withCompletionHandler:]变得多余和不必要,因为纹理已经加载到内存中了。我显然错过了一些东西,所以任何见识都将是很棒的。

干杯!

最佳答案

SKTexture Class Reference解释如下:

在以下情况下加载纹理数据:
调用纹理对象的size方法。
另一种需要纹理大小的方法被称为,例如创建一个使用纹理对象的新SKSpriteNode对象。
一种预加载方法被称为(请参阅预加载纹理数据。)
在以下情况下,准备渲染纹理数据:
使用纹理的精灵或粒子是正在渲染的节点树的一部分。
准备好可渲染的SKTexture对象之后,它将一直准备就绪,直到删除了对纹理对象的所有强引用。

10-07 14:11