IOS开发之——图片的内存优化
一 概述
创建Image的方式有两种:
- UIImage *image=[UIImage imageNamed:imageName]—内存由系统管理
- UIImage *image=[UIImage imageWithContentsOfFile:path]—开发者自己管理(优化)
imageName(324M) | imageWithContentsOfFile(19M) |
---|---|
二 查看打包后的app文件
点击Xcode——>Preference,打开设置对话框
选中Locations
菜单栏,点击Derved Data
,打开包数据文件夹
找到当前应用的app
在app上右键,显示包内容,查看app的包信息
三 两种方式资源存放和获取方式
3.1 imageName方式
资源存放位置
- Assets.xcassets:资源文件夹
- 任意的图片文件夹:如Animations
imageName获取Image方式
1 | UIImage *image=[UIImage imageNamed:@“eat_001.jpg”]; |
3.2 imageWithContentsOfFile
supporting files(bundle文件)
新版本不支持supporting files文件打包后,直接放到app的包目录下
存放位置
- 直接拖放到项目
根目录下
(如Animations文件夹)
imageWithContentsOfFile获取Image方式
1 | NSString *imageName=[NSString stringWithFormat:@"Animations/Eat/%@_%02d.jpg",@"eat",i]; |
四 内存优化(imageWithContentsOfFile)
4.1 优化方式一
1 | [self performSelector:@selector(clearup) withObject:nil afterDelay:self.tom.animationDuration]; |
4.2 优化方式二
1 | [self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tom.animationDuration]; |
五 参考
- iOS 把图片资源打包成bundle