简单阐述下OC中UIImage三种创建方式~~~
2024-08-29 05:18:19
一. 直接使用imageNamed进行创建
UIImage * image = [UIImage imageNamed:@"1.jpg"];
简单说一下这种方式的优缺点:
优点:代码量少,一行代码就可以搞定。当程序中多次加载这张图片时,系统会指向同一块内存,这样可以提升效率。
缺点:系统每次会将图片缓存到计算机的内存中去,如果图片非常大,非常多,会消耗很大的计算机内存,会出现卡顿的现象。
二.将本地图片转换成NSData类型存储
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"" ofType:@"jpg"];
NSData *imageData = [NSData dataWithContentsOfFile:filePath];
UIImage *image1 = [UIImage imageWithData:imageData];
优点:图片会被系统以数据的方式加载到程序中,当你不需要重复使用一个图片或者你需要加载大量的图片,不会大量消耗计算机内存,使用这种方式。
缺点:代码量较多,没有第一种简单。
三.通过NSURL获取网络图片
NSURL *url = [NSURL URLWithString:PATH];
NSData *imageData = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:imageData];
上面的PATH是网络图片的地址。
这种方式的优缺点跟第二种应该是一样的,区别就在于获取图片的方式不一样。
写的东西非常简单,希望大家能够多多互相交流学习~谢啦~
最新文章
- Java 数组
- hdu 1515 Anagrams by Stack
- mybatis注解详解
- [转载]android中The connection to adb is down,问题和解决
- BZOJ 2716: [Violet 3]天使玩偶( CDQ分治 + 树状数组 )
- Linux下 保存 git账号密码
- 1951: [Sdoi2010]古代猪文
- win10 uwp 简单MasterDetail
- Debian 9 中手动设置有线网络
- MVP架构在xamarin android中的简单使用
- BZOJ_1030_[JSOI2007]文本生成器_AC自动机+DP
- linux下mysql区分大小写的内容
- XML的几种转换
- shell脚本--内容查找之grep命令
- go语言笔记——切片函数常见操作,增删改查和搜索、排序
- category,extension区别
- Spring 属性注入(二)BeanWrapper 结构
- c++ int string互转
- jconsole监控远程 spring boot程序
- HDU 2907
热门文章
- django中css问题
- 转载:[AngularJS系列] 那伤不起的provider们啊~ (Provider, Value, Constant, Service, Factory, Decorator)
- SQL中的OpenXML使用
- C宏展开的几个注意事项
- 如何更方便地调试javascript代码
- Java AOP nested exception is java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice || Error creating bean with name 'org.springframework.aop.aspectj.AspectJPointcutAdvisor#0' 两个异常解决办法
- React Native 使用问题记录
- 腾讯云服务器centos 6.5(jdk+tomcat+vsftp)、腾讯mysql数据库 及 tomcat自启动 配置教程
- C# winform TreeView中关于checkbox选择的完美类
- 高斯过程(gaussian process)