那么為什么會(huì)出現(xiàn)卡頓 為了解釋這個(gè)問(wèn)題首先需要了解一下屏幕圖像的顯示原理。首先從 CRT 顯示器原理說(shuō)起,如下圖所示。CRT 的電子槍從上到下逐...
前言 OC調(diào)用方法,底層是調(diào)用 objc_msgSend 發(fā)送消息。在發(fā)送消息時(shí)會(huì)經(jīng)過(guò)一系列的快速 查找、慢速查找,如果查找到對(duì)應(yīng)的 IMP,直...
消息轉(zhuǎn)發(fā)objc_msgSend 可以分為兩個(gè)部分:一部分是objc_msgSend本身自己的快速路徑(匯編編寫(xiě)的部分),另一部分是慢速路徑(用...
Runtime 介紹 runtime稱(chēng)為運(yùn)行時(shí),它區(qū)別于編譯時(shí) 運(yùn)行時(shí) 是代碼跑起來(lái),被裝載到內(nèi)存中的過(guò)程,如果此時(shí)出錯(cuò),則程序會(huì)崩潰,是一個(gè)動(dòng)...
objc_class中cache存儲(chǔ)的是什么? 首先,我們需要知道cache中存儲(chǔ)的到底是什么? 查看cache_t的源碼,發(fā)現(xiàn)分成了3個(gè)架構(gòu)的...
類(lèi) 的分析 類(lèi)的分析 主要是分析 isa的走向 以及 繼承關(guān)系 定義兩個(gè)類(lèi) 繼承自NSObject的類(lèi)LGPerson, 繼承自LGPerson...
在介紹正文之前,首先需要理解一個(gè)概念:OC對(duì)象的本質(zhì)是什么? OC對(duì)象本質(zhì) 在探索oc對(duì)象本質(zhì)前,先了解一個(gè)編譯器:clang Clang cl...
結(jié)構(gòu)體的對(duì)齊方式首先了解:結(jié)構(gòu)體和數(shù)組一樣都是一塊連續(xù)的內(nèi)存空間。 結(jié)構(gòu)體內(nèi)存對(duì)?分為3個(gè)部分:1.基本類(lèi)型數(shù)據(jù)成員:結(jié)構(gòu)體的第一個(gè)數(shù)據(jù)成員放在...
通過(guò)一段代碼開(kāi)始分析alloc方法的本質(zhì): 分別輸出3個(gè)對(duì)象的內(nèi)容、內(nèi)存地址、指針地址,下圖是打印結(jié)果 通過(guò)打印結(jié)果可以看出,3個(gè)對(duì)象指向的是同...