在Main Thread中发现不一样动画场景中Image IO 开销和耗时所占比例均不一,在UIImage元素较多整体叠加耗时也会占用必定比例.内存开销也会明显增高. 编程
UIImage加载图片方式通常有两种: 缓存
A:imagedNamed初始化 动画
B:imageWithContentsOfFile初始化 spa
两者不一样之处在于,imageNamed默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.若是缓存中没有找到相应的图片对象,则从指定地方加载图片而后缓存对象,并返回这个图片对象. 对象
而imageWithContentsOfFile则仅只加载图片,不缓存. 图片
大 量使用imageNamed方式会在不须要缓存的地方额外增长开销CPU的时间来作这件事.当应用程序须要加载一张比较大的图片而且使用一次性,那么其实 是没有必要去缓存这个图片的,用imageWithContentsOfFile是最为经济的方式,这样不会由于UIImage元素较多状况下,CPU会 被逐个分散在没必要要缓存上浪费过多时间. 内存
使用场景须要编程时,应该根据实际应用场景加以区分,UIimage虽小,但使用元素较多问题会有所凸显. it