如果我[类分配]它应该得到一个保留计数为1,那么如果我自动释放该对象,它应该能够释放,或者不是吗?解决方法 Instruments会为您添加保留和发布.这就是“RefCt”栏中显示的内容:运行总计.
If I [Class alloc] it should come up with a retain count of 1,…
确实如此;这是列表中的第一行.
… then if I autorelease that object,it should be able to free,or is it not?
自动释放不是立即-1;它会导致稍后释放,那是-1.
所以你有了:
>分配:1(= 1)
>自动释放:现在为0;导致稍后发布(现在没有变化,所以仍然= 1)
>保留:1(= 2)
>发布:-1(= 1)
>保留:1(= 2)
>保留:1(= 3)
>发布:-1(= 2)
>发布:-1(= 1)
请注意,三个版本中的一个是由autorelease引起的版本之一.只有这时才招致-1.
该对象需要另一个版本才能被释放.在那之前,它不会.
是的,有一个具有足够突出自动释放的对象可能会在它们到来之前将其杀死,因为它会在发生之前被保留,从而保持活着状态.我看到这种情况发生过一次我保留不足的物体,但那是Binding使用的属性的值; Binding保留了这个值,所以即使在我自己最后一次拥有它之后也保持活着.
总结以上是内存溢出为你收集整理的可可触摸 – 仪器泄漏,参考计数和自动释放全部内容,希望文章能够帮你解决可可触摸 – 仪器泄漏,参考计数和自动释放所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)