Предварительная загрузка путаницы SKTextures/SKTextureAtlas

Я прочитал все сообщения здесь по этой теме, и ни один из них, кажется, не отвечает на мой вопрос.

Мой вопрос: когда SKTexture/SKTextureAtlas загружается в память?

Из того, что я прочитал, вам нужно сохранить сильную ссылку на любой SKTexture или SKTextureAtlas, загруженный в память с помощью [SKTexture preloadTextures: withCompletionHandler:], чтобы он не был выпущен с помощью ARC, что для меня имеет смысл, потому что объект получит высвобождается в конце метода, когда его никто не удерживает. Чего я не понимаю, так это того, как SKTexture с сохраняющим его сильным указателем не загружается в память, не сделает ли это [SKTexture preloadTextures: withCompletionHandler:] избыточным и ненужным, поскольку текстуры уже загружены в память. Я явно что-то упускаю, поэтому любое понимание было бы здорово.

Ваше здоровье!


person Evan Ische    schedule 23.04.2015    source источник


Ответы (1)


Справочник по классам SKTexture объясняет это следующим образом:

Данные текстуры загружаются, когда:

Вызывается метод size объекта текстуры.

Вызывается другой метод, для которого требуется размер текстуры, например, создание нового объекта SKSpriteNode, который использует объект текстуры.

Вызывается один из методов предварительной загрузки (см. Предварительная загрузка данных текстуры).

Данные текстуры подготавливаются к рендерингу, когда:

Спрайт или частица, использующая текстуру, является частью визуализируемого дерева узлов.

Как только объект SKTexture готов к рендерингу, он остается готовым до тех пор, пока не будут удалены все сильные ссылки на объект текстуры.

person sangony    schedule 23.04.2015