Утечка памяти в SKTextureAtlas preloadWithCompletionHandler при использовании XCODE 8.0
Я надеюсь, что кто-то может помочь мне найти ответ на эту проблему. Я отправил сообщение об ошибке в Apple несколько недель назад (28684035), но они еще не ответили на мой отчет. Яблочный форум тоже не поможет. Моя игра находится в разработке, и она иногда вылетает во время предварительной загрузки, когда все, что я делаю, это вызываю метод SKTextureAtlas preloadWithCompletionHandler.
Пожалуйста, смотрите детали ниже. Если у вас есть какие-либо вопросы, касающиеся проблемы, пожалуйста, не стесняйтесь писать.
Резюме: я создал тестовый проект и просто добавил следующий код в touchUpAtPoint:
SKTextureAtlas* atlas = [SKTextureAtlas atlasNamed:@"GlobalMap"];
[atlas preloadWithCompletionHandler:^{
}];
Я посмотрел на инструменты, и они показывают утечки памяти при каждом вызове этого метода. Это в конечном итоге падает. Я обнаружил эту утечку, потому что в моем текущем игровом проекте я предварительно загружал несколько моих атласов в начале игры. Он начал падать, когда я обновил свой код до XCODE 8.0 и мой iPhone до IOS 10.0
Действия по воспроизведению:
- Создать тестовый проект
- Добавить атлас в проект
- Добавьте код preloadWithCompletionHandler.
- Запустите приложение и следите за выделением памяти и утечками в инструментах.
- Прикоснитесь к экрану несколько раз (или даже один раз - вы увидите некоторые утечки)
Версия: iOS 10.0.2 Конфигурация: iPhone 6