SKScene на WatchKit вызывает сохранение цикла (?) - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть приложение Apple Watch, отображающее табличное представление с большим количеством изображений (макет 4х4, как в приложении «Фотографии»).Нажатие на изображение приведет к анимации на самом изображении.

Это работало нормально, но недавно пользователь связался со мной по поводу сбоя приложения после нажатия около 5 изображений.Я смог воспроизвести эту проблему.Моим первым инстинктом было выбрать Profile in instruments, но те, к сожалению, приветствуют меня: «Распределение не поддерживает платформу watchOS».Следовательно, я не вижу, какой объект увеличивается в размерах.

Как я могу определить эту проблему?Ниже вы найдете немного архитектуры

GridController: состоит из таблицы WKInterfaceTable.Нажав на картинку, вы попадете на

DetailController: на ней будет SKScene.

SKScene: Там тоже ничего особенного.Получил SKShapeNode, который в основном имеет изображение дочернего.

DetailController представлен с помощью push, а не модально, поэтому watchOS отображает кнопку back.Я думал, что это удалит все ссылки - но это не так.Код ничего особенного.

Я обнаружил, что несколько потоков на SKScene не выпускают объекты, поэтому я боюсь, что это именно тот случай.Есть ли что-то очевидное, чего мне не хватает?Или это известная ошибка?Как я мог обойти это?Я попытался weak все свойства без успеха.И тот факт, что профилировщик не будет прикрепляться к часам, не сильно помогает.Я могу опубликовать полный код, если это необходимо, но это буквально 20 строк аспекта, которые соответствуют изображению пользовательского интерфейса для SKScene, так что я не думаю, что это связано с этим.

...