我正在iPad上开发仅包含动画的应用程序。我正在使用约400张JPEG图像制作动画。大小对应于7MB。但是动画50幅动画后,动画停止并且应用程序崩溃。我在NIB中使用UIImageView作为IBOutlet,并使用NSTimer在代码中更改图像。应用程序崩溃,显示消息已收到内存警告。我已经使用仪器工具检查过,没有发现泄漏。
任何建议表示赞赏。
代码
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self callTimer];
}
-(void) callTimer
{
tempView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
[self.view addSubview:tempView];
animationTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(animateCharacter) userInfo:nil repeats:YES];
}
-(void) animateCharacter
{
imageNumber++;
if(imageNumber <= 400)
{
tempView.image = [UIImage imageNamed:[NSString stringWithFormat:@"body%d.jpg",imageNumber]];
}
else
{
//tempView.image = [UIImage imageNamed:[NSString stringWithFormat:@"pose.png",imageNumber]];
imageNumber = 0;
tempImageNumber = 0;
[tempView removeFromSuperview];
[tempView release];
tempView = nil;
[animationTimer invalidate];
animationTimer = nil;
}
}
最佳答案
您是否使用多个计时器更改特定时间段的图像?
根据我的经验,您需要实时使计时器无效并使时间值无效,这样才可以解决您的问题。
另外,您可以在此处放置代码更多的信息,以便我们更多地确定您的问题。
谢谢。
关于iphone - 在iPad上收到内存警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11338885/