那么为什么会出现卡顿 为了解释这个问题首先需要了解一下屏幕图像的显示原理。首先从 CRT 显示器原理说起,如下图所示。CRT 的电子枪从上到下逐...
前言 OC调用方法,底层是调用 objc_msgSend 发送消息。在发送消息时会经过一系列的快速 查找、慢速查找,如果查找到对应的 IMP,直...
消息转发objc_msgSend 可以分为两个部分:一部分是objc_msgSend本身自己的快速路径(汇编编写的部分),另一部分是慢速路径(用...
Runtime 介绍 runtime称为运行时,它区别于编译时 运行时 是代码跑起来,被装载到内存中的过程,如果此时出错,则程序会崩溃,是一个动...
objc_class中cache存储的是什么? 首先,我们需要知道cache中存储的到底是什么? 查看cache_t的源码,发现分成了3个架构的...
类 的分析 类的分析 主要是分析 isa的走向 以及 继承关系 定义两个类 继承自NSObject的类LGPerson, 继承自LGPerson...
在介绍正文之前,首先需要理解一个概念:OC对象的本质是什么? OC对象本质 在探索oc对象本质前,先了解一个编译器:clang Clang cl...
结构体的对齐方式首先了解:结构体和数组一样都是一块连续的内存空间。 结构体内存对⻬分为3个部分:1.基本类型数据成员:结构体的第一个数据成员放在...
通过一段代码开始分析alloc方法的本质: 分别输出3个对象的内容、内存地址、指针地址,下图是打印结果 通过打印结果可以看出,3个对象指向的是同...