动画需要额外的记忆力

时间:2010-08-14 08:23:24

标签: objective-c iphone-sdk-3.2

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

2 个答案:

答案 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?