我有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个以上的子视图,但是如果这是问题,它会在动画开始之后导致昙花一现,而不是之前?有任何想法吗?