美文网首页
__block的内存管理

__block的内存管理

作者: 大鹅ne | 来源:发表于2020-04-17 16:34 被阅读0次

🌟block在栈上时,并不会对__block变量产生强引用
🌟当block copy到堆时
会调用block内部的copy函数
copy函数内部会调用_Block_object_assignd函数
_Block_object_assignd函数会对__block内部变量产生强引用(retrain)


Screen Shot 2020-04-17 at 4.25.27 PM.png

🌟当block从堆中移除时
会调用block内部的dispose函数
dispose函数内部会调用_Block_object_dispose函数
_Block_object_dispose函数会自动释放__block变量(release)


Screen Shot 2020-04-17 at 4.34.39 PM.png

相关文章

  • Block内存管理实例分析

    Block内存管理实例分析 Block内存管理实例分析

  • Block内存管理

    对block自身内存的管理 对于block,有两个内存管理方法:Block_copy, Block_release...

  • iOS内存管理详解

    目录 block内存管理 autorelease内存管理 weak对象内存管理 NSString内存管理 new、...

  • Block 使用总结

    Block 内存管理: Block 内存主要分派到 NSGlobalBlock(data area),NSMall...

  • iOS面试之Block大全

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • iOS面试之Block模块

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • Block

    一、Block本质 二、 BlocK截获变量 三、__block 修饰变量 四、Block内存管理 五、Block...

  • Block

    Block介绍 截获变量 __block修饰符 Block的内存管理 Block的循环引用 一、Block介绍 1...

  • block的内存管理

    block的内存默认放在栈中,(开发人员不需要管理block内存),block所引用的对象的retainCount...

  • block的一些注意事项

    Block的使用注意: block的内存管理(注意循环引用,默认在栈中(不需要内存管理),通过copy就在在堆中,...

网友评论

      本文标题:__block的内存管理

      本文链接:https://www.haomeiwen.com/subject/aleyvhtx.html