题
我需要在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(^)(布尔完成))完成
不隶属于 StackOverflow