2010-08-14 63 views
0

我需要在我的iPad應用程序中使用動畫。當我使用動畫時,內存在增加並且獲得異常。當我啓動我的應用程序時,內存大小爲10 MB,一旦動畫開始它將內存大小增加到發射空間的兩倍(它是30 MB)。我測試的分配和泄漏一切都很完美,但我仍然有這個問題。我不知道它爲什麼會發生。我的動畫代碼如下,請幫助我。動畫需要額外的內存

 [UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 
if ([currentView superview]) 
{ 

    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainView cache:YES]; 
    [currentView removeFromSuperview]; 
    [mainView addSubview:nextView]; 

} 

[UIView commitAnimations]; 

在此先感謝, Sekhar Bethalam。

回答

0

你有多確定動畫是否導致泄漏?

當您添加/刪除沒有動畫的子視圖時會發生什麼?泄漏還在嗎?

nextViewnextView初始化/發佈在哪裏?

究竟是if ([currentView superview])意味着檢查,因爲我認爲它總是會返回True?

0

我不確定這是方法本身是增加內存使用情況,但可能是您的視圖控制器正在加載?

也嘗試添加這些行在您的動畫塊,因爲我認爲這是鼓勵(請糾正我,如果我錯了) [currentView viewWillAppear:YES]; [currentView viewDidAppear:YES]; [mainView viewWillDisappear:YES]; [mainView viewDidDisappear:YES];

而且我相信setAnimationTransition現在是IOS4氣餒,所以也許嘗試使用 +(無效)transitionWithView:(UIView的*)觀看時間:(NSTimeInterval)持續時間選項:(UIViewAnimationOptions)選項動畫:(無效(^)(無效))動畫完成:(無效(^)(BOOL完成))完成