核心思想 在Runloop处理完所有事件即将要睡眠时,根据当前设备处理器的数量来创建相应数量的串行队列(避免线程调度),当有多个绘制任务时,开辟多个子线程在后台异步绘制!将通...
![240](https://cdn2.jianshu.io/assets/default_avatar/4-3397163ecdb3855a0a4139c34a695885.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
核心思想 在Runloop处理完所有事件即将要睡眠时,根据当前设备处理器的数量来创建相应数量的串行队列(避免线程调度),当有多个绘制任务时,开辟多个子线程在后台异步绘制!将通...
正好趁着这个假期,把前段时间掌握的Flutter底层知识点记录下来,日后还会持续更新哈! Flutter与React Native的本质区别: React Native,通过...
大家通常是否会认为isa就是对象的指针,用来表明对象所属的类型。但是如果isa指针仅表示类型的话,对内存显然也是一个极大的浪费。于是,就像tagged pointer一样,对...
HeapObject 在Swift中,一个Class对象实际上就是一个HeapObject结构体指针。那么它的内存布局是怎样的呢? 首先我们先来看一下 HeapObject ...
首先我们来看一段代码 上述代码中,泛型方法的调用过程大概如下: 泛型和Protocol Type的区别在于: 泛型类型由于在调用时能够确定具体的类型,每个调用上下文只有一种类...
首先我们来看一段代码 那么请问各位看官, draws中存储的是什么呢?事实上,在这种情况下,变量 draws 中存储的元素是一种特殊的数据类型:Existential Con...
什么是Tagged Pointer? 在2013年9月,苹果推出了iPhone5s,与此同时,iPhone5s配备了首个采用64位架构的A7双核处理器,为了节省内存和提高执行...
新的APNs协议基于HTTP/2,一种是使用Universal Push Notification Client SSL 证书,一种是使用Token。 基于HTTP/2与To...
在笔者编写的iOS-Objective-C的本质中,我们已经了解到,所有的OC对象本质中都包含了一个isa指针,这个指针要么指向类对象,要么指向元类对象,今天,我们进一步来观...