Objective-C基础3:内存管理续_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Objective-C基础3:内存管理续

Objective-C基础3:内存管理续

 2015/1/25 16:13:07  52xpz  程序员俱乐部  我要评论(0)
  • 摘要:1.上篇我们讲了OC中的内存管理基础,我们再总结一下何时该用内存管理。1)当用new、alloc、copy创建对象时,必须要释放对象。2)当拥有对象时,如果是临时对象,不需要释放;当需要长时间保留对象时,必须保留对象并且在dealloc方法中释放对象。2.OC中的垃圾回收机制OC2.0引入了垃圾回收机制,也就是启用了垃圾回收机制之后,我们忘记了释放对象,OC会帮我们释放对象,这点可看出OC比C++的强大之处了。垃圾回收机制主要原理是在运行中定时动态跟踪对象,检查对象的引用技术并且进行清理
  • 标签:内存管理 内存

1.上篇我们讲了OC中的内存管理基础,我们再总结一下何时该用内存管理。
1)当用new、alloc、copy创建对象时,必须要释放对象。

2)当拥有对象时,如果是临时对象,不需要释放;当需要长时间保留对象时,必须保留对象并且在dealloc方法中释放对象。

2.OC中的垃圾回收机制

OC2.0引入了垃圾回收机制,也就是启用了垃圾回收机制之后,我们忘记了释放对象,OC会帮我们释放对象,这点可看出OC比C++的强大之处了。

垃圾回收机制主要原理是在运行中定时动态跟踪对象,检查对象的引用技术并且进行清理,垃圾回收只支持mac,ios不支持,原因是在运行过程中动态释放,对于手机app不适用,所以apple引入ARC来解决问题。需要注意的是:我现在用的XCode6设置里面已经没有垃圾回收机制设置了。

3.IOS中ARC机制

 ARC(automatic reference counting)机制跟垃圾回收机制差不多,都会帮助你管理对象的生命周期。不同的是垃圾回收机制是在运行时决定释放对象的,ARC是在编译的时候编译器给我们的代码偷偷地加上retain、release方法。我们可以选中工程,通过菜单Edit->Refactor->Convert to Objective-C ARC来对工程进行ARC转换。ARC只对ROP对象起作用。具体讲解可以参考OC基础教程活着apple官网文档https://developer.apple.com/library/mac/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html。

上一篇: sql实际应用-递归查询 下一篇: 没有下一篇了!
发表评论
用户名: 匿名