三种类型循环引用 1.自循环引用2.相互循环引用3.多循环引用 自循环引用 假如有一个对象,内部强持有它的成员变量...[作者空间]
viewDidLoad中通过NSMutebleArray的array类方法创建数组对象,这个array对象的内存是...[作者空间]
下面看下上面发生了什么过程,objc_initWeak的调用栈: 1.objc_initWeak函数会调用stor...[作者空间]
ARC&MRC 内存管理涉及到以下几个方法:alloc : 分配对象的内存空间。retain : 使一个对象的引用...[作者空间]
内存布局 上面的图代表一个内存区域,内存区域分为内核区的内存(最上边),程序加载的控件(中间),保留的内存空间(最...[作者空间]
整体Runtime数据结构 首先从objc_class这么一个结构体(数据结构)开始,objc_class继承于o...[作者空间]
扩展(Extension) 一般用扩展来做什么? 1.声明私有属性,是可以不对子类暴露的。2.声明私有方法,方便阅...[作者空间]
图形渲染技术栈 下图所示为 iOS App 的图形渲染技术栈,App 使用 Core Graphics、Core ...[作者空间]
UIView的绘制原理 当我们调用UIView的setNeedsDisplay方法以后,实际上并没有立刻发生当前视...[作者空间]
屏幕显示图像的原理 首先从过去的 CRT 显示器原理说起。CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完...[作者空间]
虚拟内存 & ASLR 在早期计算机中数据是直接通过物理地址访问的,这就造成了下面两个问题 1.内存不够用2.数据...[作者空间]
isa详解 nonpointer0,代表普通的指针,存储着Class、Meta-Class对象的内存地址。1,代表...[作者空间]
block的本质 block的变量捕获(capture) block的类型 block有3种类型,可以通过调用cl...[作者空间]
Category的底层结构 Category的加载处理过程1、通过Runtime加载某个类的所有Category数...[作者空间]
KVO KVO的全称是Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。...[作者空间]