Nic*_*dli 12 cocoa memory-management objective-c ios5 automatic-ref-counting
我是来自C#/ Java背景的新可可开发人员.我已经了解了Objective-c语言使用的内存管理模式,我发现它们对于代码意识的开发非常有帮助.
为什么Apple现在要求我们使用ARC(自动参考计数)而不是MRR(手动保留 - 释放)以及ARC提供的除节省时间之外的哪些优势?
我认为这种转变会对开发商从对象生态系统中获得的良好公民习惯产生负面影响.
缺口
Cat*_*Man 12
令人遗憾的是,让有能力的开发人员更容易纠正会产生副作用,使新开发人员更容易学习,但看起来它可能是值得的.
ARC 是那么宽容比跟踪收集像C#或Java的使用虽然.如果您没有明确的对象所有权模型,您几乎肯定会创建周期并泄漏大量内存.我希望这是显而易见的(通过仪器?仍然需要寻找它......不确定在这里可以做什么)新开发人员将很快学会保持他们的对象图清晰和非循环.
ARC允许我专注于编写有用的代码而不是样板的dealloc方法.
我认识的大多数人都是autorelease在每一个人身后都使用过alloc,因为它为你节省了一些release时间,你不能忘记实际把它放在一边.因此,目标是围绕直到自动释放池被抽干,并与ARC时,不再需要它的对象被释放.我认为在这些情况下,ARC编译的程序甚至会使用更少的内存.
而且,对我来说很惭愧,它帮助我减少了我的应用程序崩溃.
每10,000次发布就会发生过早发布.那个我永远无法完全追踪的那个,希望与ARC一起成为过去.
我认为这种转变会对开发商从对象生态系统中获得的良好公民习惯产生负面影响.
可能以同样的方式谁与汇编启动的嵌入式开发人员认为,以C开始,从来没有使用汇编进入坏习惯的人.
在我看来,MRR与ARC的讨论是相似的.
ARC和C都允许在更短的时间内编写更易于维护的代码.而且它们都可以带来更大的内存和CPU占用空间.
如果我没记错的话,Apple宣布他们确实增加了一点速度retain并release补偿了对cpu使用的影响.因此,MMR还没有真正的原因.
我是一个人,欢迎我们新的ARC霸主.
| 归档时间: |
|
| 查看次数: |
3799 次 |
| 最近记录: |