核心思想 在Runloop處理完所有事件即將要睡眠時(shí)浪漠,根據(jù)當(dāng)前設(shè)備處理器的數(shù)量來創(chuàng)建相應(yīng)數(shù)量的串行隊(duì)列(避免線程調(diào)度)茸习,當(dāng)有多個(gè)繪制任務(wù)時(shí)嚎幸,開辟多個(gè)子線程在后臺(tái)異步繪制宰缤!將通...
![240](https://cdn2.jianshu.io/assets/default_avatar/4-3397163ecdb3855a0a4139c34a695885.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
核心思想 在Runloop處理完所有事件即將要睡眠時(shí)浪漠,根據(jù)當(dāng)前設(shè)備處理器的數(shù)量來創(chuàng)建相應(yīng)數(shù)量的串行隊(duì)列(避免線程調(diào)度)茸习,當(dāng)有多個(gè)繪制任務(wù)時(shí)嚎幸,開辟多個(gè)子線程在后臺(tái)異步繪制宰缤!將通...
正好趁著這個(gè)假期渔嚷,把前段時(shí)間掌握的Flutter底層知識(shí)點(diǎn)記錄下來叹俏,日后還會(huì)持續(xù)更新哈! Flutter與React Native的本質(zhì)區(qū)別: React Native舞肆,通過...
大家通常是否會(huì)認(rèn)為isa就是對(duì)象的指針杭棵,用來表明對(duì)象所屬的類型。但是如果isa指針僅表示類型的話氛赐,對(duì)內(nèi)存顯然也是一個(gè)極大的浪費(fèi)魂爪。于是,就像tagged pointer一樣艰管,對(duì)...
HeapObject 在Swift中滓侍,一個(gè)Class對(duì)象實(shí)際上就是一個(gè)HeapObject結(jié)構(gòu)體指針。那么它的內(nèi)存布局是怎樣的呢? 首先我們先來看一下 HeapObject ...
首先我們來看一段代碼 上述代碼中牲芋,泛型方法的調(diào)用過程大概如下: 泛型和Protocol Type的區(qū)別在于: 泛型類型由于在調(diào)用時(shí)能夠確定具體的類型撩笆,每個(gè)調(diào)用上下文只有一種類...
首先我們來看一段代碼 那么請(qǐng)問各位看官, draws中存儲(chǔ)的是什么呢?事實(shí)上,在這種情況下缸浦,變量 draws 中存儲(chǔ)的元素是一種特殊的數(shù)據(jù)類型:Existential Con...
什么是Tagged Pointer夕冲? 在2013年9月,蘋果推出了iPhone5s裂逐,與此同時(shí)歹鱼,iPhone5s配備了首個(gè)采用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對(duì)象本質(zhì)中都包含了一個(gè)isa指針鸽照,這個(gè)指針要么指向類對(duì)象螺捐,要么指向元類對(duì)象,今天,我們進(jìn)一步來觀...