iOS UIImage加载图片的两种方式

在说加载本地图片的两种方式之前,先说说项目中,图片资源有两种存储方式:

1.图片资源放在Assets.xcassets中

    1>这种方式放置的图片资源,在打包成ipa后,会变成Assets.cer。

    2>这种方式放置的图片,获取不到该图片的路径。

    3>只能使用imageNamed方式加载图片,不能使用imageWithContentsOfFile方法。

2.图片资源放在项目文件中

    1>这种方式放置的图片,能够获取到该图片的路径

    2>既可以使用imageNamed方式加载,也可以使用imageWithContentsOfFile方法加载图片。


加载本地图片常用以下两种方式的区别:

1.[UIImage imageNamed:]

a.指向它的指针被销毁了,它的内存也无法销毁。

b.放到Assets.xcassets中的图片资源,默认就带有了缓存。所以一般经常用的图片就会存放在Assets.xcassets里面,因为Assets.xcassets里面的图片只能用imageNamed加载。

2.[UIImage imageWithContentsOfFile:]

a.指向它的指针被销毁了,该资源就会从内存中释放了。

b.放到项目中的图片资源,默认就不带有了缓存。所以不经常使用的或者大批量的图片,就吧把资源放在项目中,那么就可以用imageWithContentsOfFile的方式去加载。


通过上面说的图片资源放置的方式不同,所以图片资源放在项目文件中的方式,我们可以获取到图片路径,那么这种图片,以上两种方式都可以使用。

但是Assets中的图片,由于我们获取不到对应的图片路径,那么只能用imageNamed方式来加载。


另:view的animationImages属性调用了,也会带有缓存。

你可能感兴趣的:(iOS UIImage加载图片的两种方式)