预加载SKTextures / SKTextureAtlas混淆

时间:2015-04-23 17:47:33

标签: ios objective-c sprite-kit sktexture sktextureatlas

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

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

根据我的阅读,您需要强烈引用任何加载到内存中的SKTexture或SKTextureAtlas [SKTexture preloadTextures:   withCompletionHandler:]这样它就不会被ARC释放,这对我来说很有意义,因为当nobodies保留它时,对象将在方法结束时释放。我不要'吨了解与强大的指针SKTexture如何保持它不是'吨加载到内存中,不会告发'吨这使[SKTexture preloadTextures:withCompletionHandler:]多余的和不必要的,因为已经加载的纹理记忆。我显然遗漏了一些东西,所以任何见解都会很棒。

干杯!

1 个答案:

答案 0 :(得分:2)

SKTexture Class Reference解释如下:

  

在以下情况下加载纹理数据:

     

调用纹理对象上的size方法。

     

调用另一个需要纹理大小的方法,例如创建一个使用纹理对象的新SKSpriteNode对象。

     

调用其中一个预加载方法(请参阅预加载纹理数据。)

     

纹理数据准备在以下情况下渲染:

     

使用纹理的精灵或粒子是正在渲染的节点树的一部分。

     

一旦SKTexture对象准备好渲染,它就会保持准备状态,直到删除对纹理对象的所有强引用。