2011-05-06 41 views
17

最近,我一直在試圖找到一種方法來通過GDB分析動畫(除了好奇以外沒有其他好處)。據我所知,CoreAnimation在單獨的線程中運行它的動畫。但是,在通過GDB暫停所有活動線程後,我的動畫(具體來說,UIImageView使用的CAKeyFrameAnimation)仍在運行。CoreAnimation的主題

這使我相信2的事情正在發生:

1)我們無法得知它的線程(S)無論出於何種原因。

2.)我錯過了非常明顯的東西。

對這個問題的任何反饋非常感謝。謝謝。

+0

+1好奇!偉大的詢問。 – 2011-05-06 23:12:12

+0

也許這不是你想要的,但是如果你想在動畫的時候知道動畫的任何值,我想你可以使用'CALayer'的'presentationLayer'屬性。 – nacho4d 2011-05-06 23:20:14

+0

非常有趣,你是隱式還是明確地指定動畫? – 2011-05-13 16:59:57

回答

6

您的實際動畫已交給SpringBoard進程。這就是使用調試器暫停進程中的所有線程時不會停止的原因。通過使用VM Watcher工具查看創建動畫時分配的共享虛擬機區域,您可以看到更多證據。在這方面,SpringBoard的功能有點像OS X上的窗口服務器。