安装依赖 必须安装的依赖有:Node、Watchman、Xcode 和 CocoaPods。虽然你可以使用任何编辑器来开发应用(编写 js 代码...
本文主要是分析内存管理中的内存管理方案,以及retain、retainCount、release、dealloc的底层源码分析 ARC&MRC ...
二进制重排原理 在虚拟内存部分,我们知道,当进程访问一个虚拟内存page,而对应的物理内存不存在时,会触发缺页中断(Page Fault),因此...
LLVM LLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(li...
block类型 block主要有三种类型 __NSGlobalBlock__:全局block,存储在全局区 此时的block没有访问外部变量,属...
锁的种类 借用网上的一张有关锁性能的对比图,如下所示: 从上图中我们可以看出来,锁大概可以分为以下几种: 1.:在自旋锁中,线程会反复检查变量是...
dispatch_async底层 dispatch_async的源码不多,接下来我们要探索两个方面: 子线程创建的时机点 任务block执行的时...
GCD简介 GCD全称是Grand Central Dispatch 纯C语言,提供例如非常强大的函数 GCD优势 GCD是苹果公司为多核的并行...
总述 在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域。如下图所示: 下面分别介绍这五大区 栈区(Stack) 定义 栈是系统...