1)UIImage * image = [UIImage imageNamed:[NSString stringWithFormat:@”sign_circle_%02ld”,i]];
动画结束会也会存在内存中,只有杀死app进程后才会释放掉。下次访问速度快,但占内存。
2)
NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@”sign_circle_%02ld”,i] ofType:@”png”];
UIImage * image = [UIImage imageWithContentsOfFile:path];
动画结束后,图片占用的内存会被释放。下次加载时速度比第一种方法慢一点,但节约内存。
建议:在app中对于那种频繁用的刷图用第一种方法,不频繁用的用第二种。
此次需要特别注意:运用第二种方法时 imageView.animationImages的图片数组不要写成全局变量,而是局部变量。否则需要在动画结束后自行将图片数组设置为nil,内存才会释放。
UIImageView* imageView;
NSMutableArray * array = [NSMutableArray array];
imageView.animationImages = array。