AI智能
改变未来

iOS面试 – imageName: 与 imageWithContextOfFile: 的区别?哪个性能高?

imageNamed 采用了缓存机制,如果缓存中已加载了图片,直接从缓存读就行了,每次就不用再去读文件了,效率会更高 。

imageWithContextOfFile 加载,图片是不会缓存的,加载速度慢。

大量使用 imageNamed 方式会在不需要缓存的地方额外增加开销 CPU 的时间。即使生成的对象被 autoReleasePool 释放了,这份缓存也不释放,如果图像比较大,或者图像比较多,用这种方式会消耗很大的内存。

当应用程序需要加载一张比较大的图片并且使用一次性,那么其实是没有必要去缓存这个图片的,用 imageWithContentsOfFile 是最为经济的方式,这样不会在 UIImage 元素较多的情况下,CPU 被逐个分散在不必要缓存上浪费过多时间。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » iOS面试 – imageName: 与 imageWithContextOfFile: 的区别?哪个性能高?