Потоки CoreAnimation

В последнее время я пытаюсь найти способ анализа анимации через GDB (по какой-то другой причине, кроме любопытства). Насколько я понимаю, CoreAnimation запускает анимацию в отдельном потоке. Однако после приостановки всех активных потоков через GDB моя анимация (в частности, CAKeyFrameAnimation, которая использует UIImageView) все еще работает.

Это заставляет меня поверить, что происходит одна из двух вещей:

1.) По какой-либо причине мы не зависим от его нити (ов).

2.) Я пропустил что-то ужасное.

Любые отзывы по этому вопросу очень ценятся. Спасибо.

Ответы

Ответ 1

Ваши фактические анимации передаются в процесс SpringBoard. Вот почему они не останавливаются при приостановке всех потоков в вашем процессе с помощью отладчика. Вы можете увидеть это еще раз, используя инструмент VM Watcher, чтобы отображать общие области VM, которые выделяются при создании анимаций. В связи с этим SpringBoard функционирует как сервер окон на OS X.