我需要在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 :(得分:0)
我不确定这个方法本身是否增加了内存使用量,但可能是你的视图控制器被加载了?
另外尝试在动画块中添加这些行,因为我认为鼓励这些行(如果我错了请纠正我) [currentView viewWillAppear:YES]; [currentView viewDidAppear:YES]; [mainView viewWillDisappear:YES]; [mainView viewDidDisappear:YES];
我相信现在不鼓励在IOS4中使用setAnimationTransition,所以也许可以尝试使用 +(void)transitionWithView:(UIView *)视图持续时间:(NSTimeInterval)持续时间选项:(UIViewAnimationOptions)选项动画:(void(^)(void))动画完成:(void(^)(BOOL完成))完成
答案 1 :(得分:0)
动画导致泄漏的程度如何?
在没有动画的情况下添加/删除子视图会发生什么?泄漏还在吗?
nextView
在哪里初始化/发布?
if ([currentView superview])
究竟要检查什么,因为我认为它总会返回True?