首页 > 代码库 > 4.ios之图片动画加载
4.ios之图片动画加载
1.UIImageView animationImages属性
1> 加入图片后会占用内存不自动释放
2> animationImages 赋值 nil 时才会自动释放之前加载图片的内存
- (void)runAnimationWithCount:(int)count name:(NSString *)name { if (self.tom.isAnimating) return; // 1.加载所有的动画图片 NSMutableArray *images = [NSMutableArray array]; for (int i = 0; i<count; i++) { // 计算文件名 NSString *filename = [NSString stringWithFormat:@"%@_%02d.jpg", name, i]; // 加载图片 // imageNamed: 有缓存(传入文件名) // UIImage *image = [UIImage imageNamed:filename]; // imageWithContentsOfFile: 没有缓存(传入文件的全路径) NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle pathForResource:filename ofType:nil]; UIImage *image = [UIImage imageWithContentsOfFile:path]; // 添加图片到数组中 [images addObject:image]; } self.tom.animationImages = images; // 2.设置播放次数(1次) self.tom.animationRepeatCount = 1; // 3.设置播放时间 self.tom.animationDuration = images.count * 0.05; [self.tom startAnimating]; // 4.动画放完1秒后清除内存 CGFloat delay = self.tom.animationDuration + 1.0; [self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:delay]; // [self performSelector:@selector(clearCache) withObject:nil afterDelay:delay]; }
4.ios之图片动画加载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。