码迷,mamicode.com
首页 > 其他好文 > 详细

Block之内存管理

时间:2015-05-18 14:36:44      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:

对block调用复制,有以下几种情况:

1.对全局区的block调用copy,会返回原指针,并且这期间不处理任何东西(至少目前的内部实现是这样);

2.对栈上的block调用copy,每次会返回新复制到堆上的block的指针,同时,所有__block变量都会被复制至堆一份(多次拷贝,只会生成一份)。

3.对已经位于heap上的block,再次调用copy,只会增加block的引用计数。

为什么我们不讨论retian的行为?原因是并没有Block_retain()这样的函数,而且objc里面的retain消息发送给block对象后,其内部实现是什么都不做。

参考文章:

http://mobile.51cto.com/hot-403914.htm

http://my.oschina.net/panyong/blog/304134

http://www.tanhao.me/pieces/310.html/

Block之内存管理

标签:

原文地址:http://www.cnblogs.com/xing-li/p/4511732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!