UIImage加载内存性能比较

+ (UIImage )imageNamed:(NSString )name

+ (UIImage )imageNamed:(NSString )name 
这种加载会有缓存,图片所占用的内存会一直停留在程序中,name是图片文件名

    UIImage *textviewBackgroundImage= [[UIImage imageNamed:@"service_textview_background.png"] 
  • 1

+ (UIColor )colorWithPatternImage:(UIImage )image

用colorWithPatternImage设置view背景色很占内存,假如考虑兼容iphone的高清图片,如果图本内存占用大概1MB内存, 然后屏幕旋转或者其他的一些需要换图的操作, 这个方法就会重新执行, 执行一次,内存就会加1MB,直至奔溃或闪退!

 self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
  • 1

+ (UIImage )imageWithContentsOfFile:(NSString)path

此种加载方法无缓存,图片所占用的内存会在一些特定的操作后被清除,path是图片的全路径

   NSString *contentString = [NSString stringWithFormat:@"%@",message.content];
   UIImage *tpImage = [UIImage imageWithContentsOfFile:contentString];
时间: 2024-11-07 16:16:21

UIImage加载内存性能比较的相关文章

IOS - UIImage加载内存性能比较

+ (UIImage )imageNamed:(NSString )name + (UIImage )imageNamed:(NSString )name 这种加载会有缓存,图片所占用的内存会一直停留在程序中,name是图片文件名 UIImage *textviewBackgroundImage= [[UIImage imageNamed:@"service_textview_background.png"] + (UIColor )colorWithPatternImage:(UII

Android ViewPager Fragment使用懒加载提升性能

?? Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Android ViewPager内在的加载机制,导致一个比较严重的加载性能问题,具体来说,假设一个ViewPager中有n多个Fragment,那么ViewPager在初始化阶段将一次性的初始化FragmentPagerAdapter中的至少3个Fragment(如果Fragment多于3),创建和加载Fra

UIImage加载本地图片的两种方式

UIImage加载图片方式一般有两种: (1)imagedNamed初始化:默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片对象,则从指定地方加载图片然后缓存对象,并返回这个图片对象. (2)imageWithContentsOfFile初始化:则仅只加载图片,不缓存. 大量使用imageNamed方式会在不需要缓存的地方额外增加开销CPU的时间来做这件事.当应用程序需要加载一张比较大的图片并且使用一次性,那么其实是没有

一步一步实现listview加载的性能优化

listview加载的核心是其adapter,本文针对listview加载的性能优化就是对adpter的优化,总共分四个层次: 0.最原始的加载 1.利用convertView 2.利用ViewHolder 3.实现局部刷新 [转载请保留本文地址:http://www.cnblogs.com/goagent/p/5158064.html]  〇.最原始的加载 这里是不经任何优化的adapter,为了看起来方便,把listview的数据直接在构造函数里传给adapter了,代码如下: 1 priv

【java】itoo项目实战之hibernate 懒加载优化性能

在做itoo 3.0 的时候,考评系统想要上线,就开始导入数据了,只导入学生2万条数据,但是导入的速度特别的慢,这个慢的原因是因为导入的时候进行了过多的IO操作.但是导入成功之后,查询学生的速度更加慢,因为底层用了hibernate的hql语句进行查询的,学习过hibernate的人都知道,如果hibernate不设置懒加载的话,只有是有关联的数据都会一次性全部都查询出来,我试了试,查询2万条数据,最深的级联查询是有5层,然后发出来的语句是460条,时间大概是10s.然后就考虑使用lazy进行优

swift UIImage加载远程图片和圆角矩形

UIImage这个对象是swift中的图像类,可以使用UIImageView加载显示到View上. 以下是UIImage的构造函数: init(named name: String!) -> UIImage // load from main bundle init(named name: String!, inBundle bundle: NSBundle!, compatibleWithTraitCollection traitCollection: UITraitCollection!)

UIImage加载图片的区别

前言 关于本地图片UIImage的加载问题,还是需要注意的.不同的加载处理方式,在效率和性能上还是有差异的. 今天,我们来讲讲UIImage的加载应该选择什么样的API来加载! 两种API 这两种API分别是: -imageNamed: 默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片对象,则从指定地方加载图片然后缓存对象并返回这个图片对象.通常是加载bundle中的图片资源! -initWithContentsOfFi

UIImage加载方式

前言 关于本地图片UIImage的加载问题,还是需要注意的.不同的加载处理方式,在效率和性能上还是有差异的. 今天,我们来讲讲UIImage的加载应该选择什么样的API来加载! 两种API 这两种API分别是: -imageNamed: 默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片对象,则从指定地方加载图片然后缓存对象并返回这个图片对象.通常是加载bundle中的图片资源! -initWithContentsOfFi

UIImage加载图片的方式以及Images.xcassets对于加载方法的影响

图片缓存 根据是否将创建好的对象缓存入系统内存,有两类创建UIImage对象的方法可选: 缓存:+ imageNamed:,只需传入文件名.扩展名(可选)即可. 不缓存:+ imageWithContentsOfFile:,必须传入文件的全名(全路径+文件名). 注意,对于有缓存功能的方法来说,其创建对象的步骤如下: 根据图片文件名在缓存池中查找特定的UIImage对象,若存在这个对象,将此对象返回. 如果不存在这个对象,则从mainBundle中加载图片数据,创建对象并返回. 如果相应的图片数