我正在做一些測試,試圖想出將最小的動畫添加到UIImageView中的最佳方法。Iphone動畫最佳實踐
下面的代碼正在工作,但是當第一次調用時,我猜測動畫正在加載時出現延遲。我應該如何加載動畫來避免這種延遲?當第二次呼叫時,它立即開始。此代碼位於 - (void)loadView方法和[animation startAnimating]中;從自定義方法調用。 注意:UIImageView *動畫實際上是一個實例var。
NSString *imageName;
NSMutableArray *animImages = [[NSMutableArray alloc]init];
for(int i = 0; i <= 40; i++) {
imageName = [NSString stringWithFormat:@"frame_%d.png", i];
[animImages addObject:[UIImage imageNamed:imageName]];
}
UIImageView *animation; // is actually an instant var declared in header.
animation = [[UIImageView alloc]initWithFrame:CGRectMake(50, 0, 600, 300)];
animation.animationImages = animImages;
animation.animationDuration = 2;
animation.animationRepeatCount = 1;
我需要在同一UIView的幾個動畫,所以我也想知道,如果這是一個觀點,並管理這種方法記憶的正確方式添加多個動畫的最佳方式。
非常感謝
感謝您的內存信息。我以爲是因爲我沒有使用Nib的,這是放置UI代碼的最佳地方?將不得不研究這一點。在我的實際代碼中,UIImageView *動畫是一個正確的實例var,但是我沒有合成它,我應該如何?我剛剛將它放在前面的代碼中,作爲示例中的註釋狀態。我應該在示例代碼中真正寫出它。我的錯。 – EcksMedia 2011-05-06 07:21:02
你不需要綜合你不會從外面訪問它。對於類本身,一個實例var就足夠了。關於什麼時候加載什麼是慣例的規則,如果你需要它們並且知道你在做什麼,就打破它們。例如,如果你不需要將動畫扔在內存警告中,因爲沒有它們,你的應用程序就無法工作,那麼就不需要考慮在哪裏加載它以及在哪裏卸載 - 它們只是在那裏。要延遲看到問題中的評論。 – 2011-05-06 13:00:37