美文网首页
自动释放池

自动释放池

作者: sajiner | 来源:发表于2017-06-27 23:52 被阅读13次

前言

趁辞职还未上班的当,对项目中所使用到的技术做下总结。一来,温故知新,二来,希望也能帮到需要的人。废话不多说,请往下看:

作用

  • 自动释放对象
  • 在自动释放池被销毁或者耗尽的时候,会向池中所有对象发送 release 消息,释放池中对象
  • 自动释放池,适用于 ARC & MRC 程序中

怎样释放对象

  • autoreleasepool 以一个队列数组的形式实现,主要通过下列三个函数完成
    - objc_autoreleasepoolPush
    - objc_autoreleasepoolPop
    - objc_autorelease
  • 对 autorelease 分别执行 push,和 pop 操作。销毁对象时执行release操作
  • 原理点此处

什么时候创建

  • 运行循环检测到事件并启动后,就会创建自动释放池

什么时候释放

  • 手动干预的:当前作用域大括号结束时释放
  • 自动的:一次完整的运行循环结束之前,会销毁

相关文章

网友评论

      本文标题:自动释放池

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