用imageNamed的方式加载时,图片使用完毕后缓存到内存中,内存消耗多,加载速度快。即使生成的对象被autoReleasePool释放了,这份缓存也不释放,如果图像比较大,或者图像比较多,用这种方式会消耗很大的内存。
imageNamed采用了缓存机制,如果缓存中已加载了图片,直接从缓存读就行了,每次就不用再去读文件了,效率会更高。
ImageWithContextOfile加载, 图片是不会缓存的,加载速度慢。
大量使用imageNamed方式会在不需要缓存的地方额外增加开销CPU的时间当应用程字需要加载
大的图片并且使用一次性,那么其实是没有必要去缓存这个图片的,用imageWithContentsOfile是 最为经济
的方式,这样不会因为Ullmage元素较多情况下,CPU会被逐个分散在不必要缓存上浪费过多时间
网友评论