我需要在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。

有帮助吗?

解决方案

您如何确定动画会导致泄漏?

当您无动画添加/删除子视图时会发生什么?泄漏还在吗?

哪里 nextView 初始化/释放?

到底是什么 if ([currentView superview]) 意图检查是因为我认为它总是会返回的吗?

其他提示

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

另外,我认为这是鼓励的,请尝试在动画块中添加这些行(如果我错了,请纠正我)[CurrentView ViewWillAppear:yes]; [CurrentView ViewDidAppear:YES]; [MAINVIEW VIEWWILLDISAPPEAR:是]; [MAINVIEW VIEWDIDDISAPPEAR:是];

我还相信,现在在ios4中不建议使用setAnimationtransition:(void)transitionWithView :( uiview *)查看持续时间:( nstimeInterval)持续时间选项:( uiviewAnimationOptions)options Anipations :( void(void)(void)(void)(void)(void))动画: (void(^)(布尔完成))完成

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top