安裝依賴 必須安裝的依賴有:Node、Watchman、Xcode 和 CocoaPods。雖然你可以使用任何編輯器來開發(fā)應用(編寫 js 代碼...
本文主要是分析內(nèi)存管理中的內(nèi)存管理方案,以及retain、retainCount、release、dealloc的底層源碼分析 ARC&MRC ...
二進制重排原理 在虛擬內(nèi)存部分,我們知道,當進程訪問一個虛擬內(nèi)存page,而對應的物理內(nèi)存不存在時,會觸發(fā)缺頁中斷(Page Fault),因此...
LLVM LLVM是架構編譯器的框架系統(tǒng),以C++編寫而成,用于優(yōu)化任意程序語言編寫的程序的編譯時間(compile-time)、鏈接時間(li...
block類型 block主要有三種類型 __NSGlobalBlock__:全局block,存儲在全局區(qū) 此時的block沒有訪問外部變量,屬...
鎖的種類 借用網(wǎng)上的一張有關鎖性能的對比圖,如下所示: 從上圖中我們可以看出來,鎖大概可以分為以下幾種: 1.:在自旋鎖中,線程會反復檢查變量是...
dispatch_async底層 dispatch_async的源碼不多,接下來我們要探索兩個方面: 子線程創(chuàng)建的時機點 任務block執(zhí)行的時...
GCD簡介 GCD全稱是Grand Central Dispatch 純C語言,提供例如非常強大的函數(shù) GCD優(yōu)勢 GCD是蘋果公司為多核的并行...
總述 在iOS中,內(nèi)存主要分為棧區(qū)、堆區(qū)、全局區(qū)、常量區(qū)、代碼區(qū)五大區(qū)域。如下圖所示: 下面分別介紹這五大區(qū) 棧區(qū)(Stack) 定義 棧是系統(tǒng)...