Приложение SwiftUI зависает на несколько секунд, прежде чем выйти на передний план - PullRequest
1 голос
/ 04 февраля 2020

Я работаю над приложением SwiftUI, в котором много анимационных компонентов. Когда приложение находится на переднем плане, пользовательская анимация на фигурах работает нормально, без задержек. Они работают плавно при 60 FPS.

Когда приложение выходит на передний план после перехода из фона, оно останавливается на несколько секунд и перестает отвечать на запросы. Затем он возвращается к нормальному поведению.

Я попытался запустить инструмент Time profiler, но основной поток не заблокирован. Похоже, на процессоре не происходит никакой работы. Что интересно, существует разрыв между фоновым состоянием и состоянием переднего плана (в треке жизненного цикла приложения) приложения, как показано на рисунке.

Что может вызывать зависание приложения? Любые идеи о том, как отладить эту проблему?

Если это помогает, приложение также имеет компонент core-motion, который я не приостанавливаю, когда приложение переходит в фоновый режим.

enter image description here

1 Ответ

0 голосов
/ 03 мая 2020

Я рассматривал похожую проблему. В моем случае оказалось, что модификатор .drawingGroup () вызвал проблему. Если я запустил свое приложение, все было в порядке, но если я поставил его на задний план и снова выдвинул на передний план, он остановился на 4 секунды. Я удалил модификатор DrawingGroup, и эта проблема была решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...