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。

4

2 回答 2

0

我不确定是否是方法本身增加了内存使用量,但可能是您的视图控制器正在加载?

还可以尝试在动画块中添加这些行,因为我认为这是鼓励的(如果我错了,请纠正我)[currentView viewWillAppear:YES]; [currentView viewDidAppear:YES]; [mainView viewWillDisappear:YES]; [mainView viewDidDisappear:YES];

我也相信 setAnimationTransition 现在在 IOS4 中不鼓励使用,所以可以尝试使用 + (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion: (void (^)(BOOL 完成))完成

于 2010-08-14T08:50:37.587 回答
0

你有多确定动画会导致泄漏?

当您添加/删除没有动画的子视图时会发生什么?漏水还在吗?

在哪里nextView初始化/发布?

究竟if ([currentView superview])要检查什么,因为我认为它总是会返回 True?

于 2010-08-14T10:12:47.163 回答