我有UIView的動畫代碼塊看起來像這樣:UIView隱式動畫的延遲來源?
[UIView beginAnimations:@"pushView" context:nil];
[UIView setAnimationDelay:0];
[UIView setAnimationDuration:.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationWillStartSelector:@selector(animationWillStart)];
view.frame = CGRectMake(0, 0, 320, 416);
[UIView commitAnimations];
的代碼基本上是模仿ModalView演示動畫,並綁在我的按鈕界面上。當按下按鈕時,在animationWillStart:實際被調用之前,我得到一個很長的(0.5秒)延遲(在iPod Touch上的速度是iPhone 3GS的兩倍)。除此之外,我的應用程序還有很多功能,但是我已經對代碼的各個時間點進行了計時,並且延遲肯定發生在這個模塊上。換句話說,緊接在此代碼塊之前的時間戳和animationWillStart:被調用時的時間戳顯示0.5秒的差異。
我對Core Animation沒有太多經驗,我只是想弄清楚延遲的原因是什麼......當動畫開始時,內存使用穩定,CoreAnimation FPS在樂器中似乎很好。獲得動畫效果的視圖確實有20個以上的子視圖,但是如果這是問題,它會在動畫開始之後導致曇花一現,而不是之前?有任何想法嗎?