谁能说说CGImageRelease和 CGImageRetain的区别?

如题。

比如我创建一个CGImageRef。用完了我要释放,免得内存升高,我应该用哪个?

CGImageRef imageRef = [asset.defaultRepresentation fullScreenImage];

阅读 5.4k
4 个回答

release是计数器-1,,retain是+1
用完不需要的时候需要release

1)首先对照下你在使用CGImageRelease之前是否调用过CGImageCreateCGImageCreateCopy 或者是CGImageRetain。。
2)如果没有会Crash吧。。。
资产类的话主动调这个对减少内存使用似乎没啥用。。。

虽然现在有了ARC,还是需要了解一下MRC

如果你需要释放内存,当然调用CGImageRelease,CGImageRelease是让引用计数-1,当引用计数为0的时候,系统就会释放回收内存。与此相对应的是retain +1。虽然现在ARC用得比较多,内存管理这块楼主还是需要去了解学习下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏