定时器内存

问题描述

*在定时器加载序列帧的过程中加载图片的内存越来越大,定时器默认的内存释放在定时器加载完之后在进行释放。

解决方法

*将图片的地址添加数组,在定时器加载时可以加载图片的路径,来达到相同的效果

  • 在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]]];
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容