关于UIImageView帧动画内存无法释放的问题

UIImageView帧动画相关属性和方法:

需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片)

@property(nonatomic,copy) NSArray *animationImages;

帧动画的持续时间

@property(nonatomic) NSTimeInterval animationDuration;

帧动画的执行次数(默认是无限循环)

@property(nonatomic) NSInteger animationRepeatCount;

开始执行帧动画

- (void)startAnimating;

停止执行帧动画

- (void)stopAnimating;

是否正在执行帧动画

- (BOOL)isAnimating;

例:加载动画图片的方式

// 1.加载所有的动画图片

- (void)runAnimationWithCount:(int)count name:(NSString *)name

{

if (self.imageView.isAnimating) return;

// 1.加载所有的动画图片

NSMutableArray *images = [NSMutableArray array];

for (int i = 0; i

// 计算文件名

NSString *filename = [NSString stringWithFormat:@"%@_d.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.imageView.animationImages = images;

// 2.设置播放次数(1次)

self.imageView.animationRepeatCount = 1;

// 3.设置播放时间

self.imageView.animationDuration = images.count * 0.05;

[self.imageViewstartAnimating];

// 4.动画放完1秒后清除内存

CGFloat delay = self.tom.animationDuration;

[self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:delay];

}
时间: 2024-10-02 20:12:25

关于UIImageView帧动画内存无法释放的问题的相关文章

UIImageView帧动画清除缓存图片,防止图片占用内存太多

我们在使用UIImageView帧动画时会碰到加载到内存的图片不会自动释放,占用很多的内存,这时我们可能使用 UIImage imageWithContentsOfFile 并配合 imageView.animationImages = nil; 来清理不用的缓存动画图片.具体如下: UIImageView帧动画相关属性和方法: 需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片) @property(nonatomic,copy) NSArray *animation

UIImageView帧动画相关属性和方法-15-05-04

UIImageView帧动画相关属性和方法 •@property(nonatomic,copy) NSArray *animationImages; Ø需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片) Ø •@property(nonatomic) NSTimeInterval animationDuration; Ø帧动画的持续时间 • •@property(nonatomic) NSInteger animationRepeatCount; Ø帧动画的执行次数(

iOS中UIImageView帧动画相关属性和方法

@property(nonatomic,copy)NSArray *animationImages; 需要播放的序列图片数组(里面都是UIImage对象,会按顺序显示里面的图片) @property(nonatomic)NSTimeInterval animationDuration; 帧动画的持续时间 @property(nonatomic)NSInteger animationRepeatCount; 帧动画的执行次数(默认是无限循环) - (void)startAnimating; 开始执

UIImageView帧动画相关属性和方法

@property(nonatomic,copy) NSArray *animationImages; 需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片) @property(nonatomic) NSTimeInterval animationDuration;帧动画的持续时间 @property(nonatomic) NSInteger animationRepeatCount; 帧动画的执行次数(默认是无限循环) - (void)startAnimating;开

IOS-UI基础-UIImageView帧动画

1. 创建一个可变数组 --> mutableArray, 用来存放, UIImage 对象, 要做动画的图片2. 执行一个for循环 1. 拼接图片名称 2. 实例化图片对象 --> UIImage 3. 把UIImage对象添加到可变数组中 3. 把可变数组赋值给UIImageView的animationImages 为imageView 设置 图片 --> 数组中最后一个UIImage对象 设置重复次数: animationRepeatCount : 如果不设置, 默认是无限循环

002-UIImageView和UIButton对比 UIImageView的帧动画 格式符补充 加载图片两种方式 添加删除SUBVIEW

一>.UIImageView和UIButton对比 显示图片 1> UIImageView只是一种图片(图片默认会填充整个UIImageView)  image\setImage: 2> UIButton能显示2种图片 * 背景 (背景会填充整个UIButton)  setBackgroundImage:forState: * 前置(覆盖在背景上面的图片,按照之前的尺寸显示)  setImage:forState: * 还能显示文字 点击事件 1> UIImageView默认是不能

利用UIImageView实现简单的帧动画

原文链接: 利用UIImageView实现简单的帧动画 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

Objc_帧动画-UIImageView动画

汤姆猫帧动画详解: //创建一个图片视图 UIImageView *tomCat = [[UIImageView alloc] init]; tomCat.frame = [[UIScreen mainScreen] bounds]; tomCat.image = [UIImage imageNamed:@"0.jpg"]; [self.view addSubview:tomCat]; //给小猫咪添加 帧动画效果 tomCat.animationDuration = 1;//设置帧动

帧动画的完整实现: 代码直接演示

帧动画的完整实现: 直接上代码演示更加清晰 1 帧动画完整代码实现: 2 #import "ViewController.h" 3 @interface ViewController () 4 5 @property (weak, nonatomic) IBOutlet UIImageView *imageViewIcon; 6 7 @end 8 9 @implementation ViewController 10 11 //把相同的代码封装一下 12 -(void)beginAni