前言
在我们的日常开发中很多时候都会经常使用到图片,在ios开发中经常会用到UIImage来获取到图片,然后,在将其显示出来,然而不同的方式对内存的影响是不同的。
获取Image的方式
一般来说获取Image的方式有两个方法:imageNamed和imageWithContentsOfFile,前者需要传递一个参数就是图像的名字,后者需要图片的全路径(可以通过 [[NSBundle mainBundle] pathForResource:“文件名字” ofType:“文件后缀”]获取),那么这两种方式有什么区别呢? 通过查阅,imageNamed方式获取的图片,它的释放是由系统帮你管理的,也就是说你不需要去管理图片的释放,只管自己写代码就好了,而通过imageWithContentsOfFile方式得到的图片,什么时候释放需要自己手动指定,如果你忘记了释放引用那么它将一直存在内存中。一般来说一些常用经常出现的图片我们使用imageNamed方式去获得,让系统去帮助我们管理释放,而只是偶尔出现一下的动画,尽量使用imageWithContentsOfFile方式去获得并且手动释放,因为不及时释放的话它将在一段时间里继续占用内存很有可能出现程序崩溃的可能。