关于UIImage类的对象两种初始化方法的区别
2016-05-24 21:33
429 查看
1、imageNamed:
1 UIImage *image = [UIImage imageNamed:@"1"];
UIImage的类方法
第一次读取图片的时候,先把这个图片放到缓存中,下次再使用这个名字的图片时,直接从缓存中读取;如果缓存中不存在这个名字的图像,则先把该图片加载到缓存中,再返回该对象。如果我们需要短时间内频繁的加载一些一次性的图像,最好不要使用这种方法。
优点:方便快捷,只有第一次使用的时候稍慢,接下来再使用就会稍微快点;
缺点:如果在当前工程中只使用一次,就会浪费内存。
2、imageWithContentsOfFile:和initWithContentsOfFile:
1 // 获取程序包中一个图片资源的路径 2 NSString *oldImagePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"]; 3 // 根据路径获取图片 4 UIImage *image1 = [UIImage imageWithContentsOfFile:oldImagePath]; // 类方法 5 UIImage *image2 = [[UIImage alloc] initWithContentsOfFile:oldImagePath]; // 对象方法
imageWithContentsOfFile: -- UIImage的类方法
intiWithContentsOfFile: -- UIImage的对象方法
每次都根据路径去读取图片,不经过系统缓存,直接从文件系统中加载并返回。不会耗内存,如果加载的图片在工程中只使用一次,应该选择这个方法。当收到内存警告的时候,系统可能会将UIImage内部的存储图像的内存释放,下一次需要的时候重新加载。
相关文章推荐
- iOS学习笔记之UITableViewController&UITableView
- Activity.managedQuery()
- quick sort analyse
- hdu 1711 Number Sequence -- (KMP 求数列第一匹配的位置)
- @Intellij IDEA生成serialVersionUID的方法
- Codeforces Round #327 (Div. 2)-Wizards' Duel
- VB语言COM组件开发GUID指定方法
- UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐
- UESTC 1253 阿里巴巴和n个大盗(博弈)
- iOS开发之高级视图—— UITableView(一)简单例子
- HDU 4198 Quick out of the Harbour(BFS+优先队列)
- EasyUI ComboTree(树形下拉框) 简单实例
- js EasyUI前台 全选的实现
- 使用dev_queue_xmit发送定制报文
- dev_queue_xmi函数详解
- 关于EasyUI的combobox的data属性以及它的运作过程
- iOS - 封装 - UIAlertController
- 工具类系列-RequestRedirectUtil
- 使用XML布局文件和java代码共同控制UI界面做一个简易图片浏览器
- 测试hibernate时报错Field 'id' doesn't have a default value