如题。
比如我创建一个CGImageRef。用完了我要释放,免得内存升高,我应该用哪个?
CGImageRef imageRef = [asset.defaultRepresentation fullScreenImage];
业精于勤,荒于嬉;行成于思,毁于随。
release是计数器-1,,retain是+1 用完不需要的时候需要release
release
retain
1)首先对照下你在使用CGImageRelease之前是否调用过CGImageCreate,CGImageCreateCopy 或者是CGImageRetain。。 2)如果没有会Crash吧。。。 资产类的话主动调这个对减少内存使用似乎没啥用。。。
CGImageRelease
CGImageCreate
CGImageCreateCopy
CGImageRetain
虽然现在有了ARC,还是需要了解一下MRC
如果你需要释放内存,当然调用CGImageRelease,CGImageRelease是让引用计数-1,当引用计数为0的时候,系统就会释放回收内存。与此相对应的是retain +1。虽然现在ARC用得比较多,内存管理这块楼主还是需要去了解学习下。
release
是计数器-1,,retain
是+1用完不需要的时候需要
release
1)首先对照下你在使用
CGImageRelease
之前是否调用过CGImageCreate
,CGImageCreateCopy
或者是CGImageRetain
。。2)如果没有会Crash吧。。。
资产类的话主动调这个对减少内存使用似乎没啥用。。。
虽然现在有了ARC,还是需要了解一下MRC
如果你需要释放内存,当然调用CGImageRelease,CGImageRelease是让引用计数-1,当引用计数为0的时候,系统就会释放回收内存。与此相对应的是retain +1。虽然现在ARC用得比较多,内存管理这块楼主还是需要去了解学习下。