核心思想 在Runloop處理完所有事件即將要睡眠時,根據(jù)當(dāng)前設(shè)備處理器的數(shù)量來創(chuàng)建相應(yīng)數(shù)量的串行隊(duì)列(避免線程調(diào)度),當(dāng)有多個繪制任務(wù)時,開辟多個子線程在后臺異步繪制!將通...
核心思想 在Runloop處理完所有事件即將要睡眠時,根據(jù)當(dāng)前設(shè)備處理器的數(shù)量來創(chuàng)建相應(yīng)數(shù)量的串行隊(duì)列(避免線程調(diào)度),當(dāng)有多個繪制任務(wù)時,開辟多個子線程在后臺異步繪制!將通...
正好趁著這個假期,把前段時間掌握的Flutter底層知識點(diǎn)記錄下來,日后還會持續(xù)更新哈! Flutter與React Native的本質(zhì)區(qū)別: React Native,通過...
大家通常是否會認(rèn)為isa就是對象的指針,用來表明對象所屬的類型。但是如果isa指針僅表示類型的話,對內(nèi)存顯然也是一個極大的浪費(fèi)。于是,就像tagged pointer一樣,對...
HeapObject 在Swift中,一個Class對象實(shí)際上就是一個HeapObject結(jié)構(gòu)體指針。那么它的內(nèi)存布局是怎樣的呢? 首先我們先來看一下 HeapObject ...
首先我們來看一段代碼 上述代碼中,泛型方法的調(diào)用過程大概如下: 泛型和Protocol Type的區(qū)別在于: 泛型類型由于在調(diào)用時能夠確定具體的類型,每個調(diào)用上下文只有一種類...
首先我們來看一段代碼 那么請問各位看官, draws中存儲的是什么呢?事實(shí)上,在這種情況下,變量 draws 中存儲的元素是一種特殊的數(shù)據(jù)類型:Existential Con...
什么是Tagged Pointer? 在2013年9月,蘋果推出了iPhone5s,與此同時,iPhone5s配備了首個采用64位架構(gòu)的A7雙核處理器,為了節(jié)省內(nèi)存和提高執(zhí)行...
新的APNs協(xié)議基于HTTP/2,一種是使用Universal Push Notification Client SSL 證書,一種是使用Token。 基于HTTP/2與To...
在筆者編寫的iOS-Objective-C的本質(zhì)中,我們已經(jīng)了解到,所有的OC對象本質(zhì)中都包含了一個isa指針,這個指針要么指向類對象,要么指向元類對象,今天,我們進(jìn)一步來觀...