问题描述
*在定时器加载序列帧的过程中加载图片的内存越来越大,定时器默认的内存释放在定时器加载完之后在进行释放。
解决方法
*将图片的地址添加数组,在定时器加载时可以加载图片的路径,来达到相同的效果
- 在ViewDidLoad方法中
imageArray = [NSMutableArray new];
for (int i = 0; i < 100; i++) {
NSString *name = [NSString stringWithFormat:@"云_%d.jpg",i];
NSString *imagepath = [[[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/"] stringByAppendingString:name];
[imageArray addObject:imagepath];
}
提前将路径放入数组
- 开启定时器
timer = [NSTimer scheduledTimerWithTimeInterval:0.06 target:self selector:@selector(changImage) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode];
[timer fire]; - 定时器调用方法中不断改变图片
-(void)changImage
{
imgCount++;
[self.imageView setImage:[UIImage imageWithContentsOfFile:[imageArray objectAtIndex:imgCount]]];
}