首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
源码与原理系列
订阅
manajay
更多收藏集
微信扫码分享
微信
新浪微博
QQ
5篇文章 · 0订阅
GCD 捕获 self 是否会造成内存泄漏?
关于 GCD 的 block 捕获 self 是否造成循环引用的问题,网上是争论不休,在 iOS 的面试中更是频繁出现。我们从 YYKit 里面的一个 Issue 出发,来探索一下 GCD 跟 self 之间是否会造成循环引用的问题。 可以看到,YY 大神在 GCD 中,为了避…
深入研究 Runloop 与线程保活
在讨论 runloop 相关的文章,以及分析 AFNetworking(2.x) 源码的文章中,我们经常会看到关于利用 runloop 进行线程保活的分析,但如果不求甚解的话,极有可能因此学会了一个错误的用法,本文就来分析一下其中常见的误区。 我提供了一个 Demo,可以在我的…
iOS 浅谈 Runloop
关于 Runloop ,尽管早就知道它的本质实现是一个循环,但笔者还是一直很困惑它的作用是什么 ,不过最近整理相关知识总算是理解了。 代码的执行逻辑是自上而下的,如果没有 Runloop ,代码执行完毕后,程序就退出了,对应到实际场景就是 APP 一打开立马就退出了。 例如上面…
Runtime源码 autoreleasepool
这里可以看到整个 iOS 的应用都是包含在一个自动释放池 block 中的。那么这个autoreleasepool到底是什么呢?接下来我们来一窥究竟。 终于看到他的结构了,总的来说,其实每一个自动释放池都是由一系列的 AutoreleasePoolPage 组成的,并且每一个 …
iOS 深入探究 AutoreleasePool
AutoreleasePool (下面称为缓存池)是 iOS 开发中的一种内存管理的机制,对象调用 autorelease 方法后会被放到缓存池中延迟释放,当缓存池需要清除时,会向这些 Autoreleased 对象发送 release 消息。 这里用 alloc 创建了 co…