什么是RunLoop则吟?RunLoop 的表象是保證線程一直存在的一個事件循環(huán)機(jī)制,本質(zhì)是封裝了一個可以接收消息處理事件并且無限dowhile循環(huán)的對象锄蹂。 作用:1逾滥、保持線程的...
前言 在前文重學(xué)iOS系列之APP啟動(四)Mach-O[http://www.reibang.com/p/ff4f0b59e99b]中,我們對二進(jìn)制在內(nèi)存中的存儲...
在上個章節(jié)败匹,我們學(xué)習(xí)了對象的本質(zhì)寨昙,對isa有了一個籠統(tǒng)的概念,了解到對象的本質(zhì)其實就是一個包含了變量和isa指針的結(jié)構(gòu)體掀亩。并且可以通過實例對象的isa獲取到類對象舔哪,然...
導(dǎo)讀 在開發(fā)過程中,是否有疑惑過槽棍,我們創(chuàng)建的OC對象本質(zhì)到底是什么捉蚤?實例對象在內(nèi)存中是怎么存儲的?對象在程序中到底占用了多少內(nèi)存炼七?傳說中的isa里面到底存儲了什么東西...
前文已經(jīng)通過源碼分析以及實戰(zhàn)演練帶領(lǐng)讀者學(xué)習(xí)了APP啟動的整個過程缆巧,既然知識已經(jīng)學(xué)了,就要學(xué)以致用豌拙。 APP啟動-優(yōu)化總結(jié): main()函數(shù)之前的優(yōu)化: 1陕悬、減少動態(tài)庫加載...
前文我們已經(jīng)了解了APP啟動的整個過程,包括dyld加載mach-o按傅,然后經(jīng)過objc庫通過runtime對類捉超、category等的初始化。這一節(jié)筆者將通過實戰(zhàn)帶領(lǐng)大家對AP...
前文講解了dyld加載Mach-O的用戶態(tài)過程唯绍,大家都知道Mach-O代表的是蘋果系統(tǒng)的可執(zhí)行文件拼岳,那你們了解Mach-O的內(nèi)部組成嗎?我們寫的代碼存儲在Mach-O的什么位...
導(dǎo)讀 上一節(jié)我們了解了dyld在APP冷啟動中扮演的角色况芒,并且引申出_objc_init()方法的調(diào)用惜纸,_objc_init()內(nèi)部調(diào)用了_dyld_objc_notify_...
導(dǎo)讀 本文將帶您了解iOS APP從點擊圖標(biāo)到顯示畫面的大致過程,本文只不深入解析相關(guān)源碼绝骚,相關(guān)源碼解析會在后續(xù)的章節(jié)詳細(xì)講解耐版。 我們?yōu)槭裁匆私釧PP啟動流程? 在開發(fā)過程...
導(dǎo)讀 本文承接自APP啟動-流程(一)皮壁,有疑惑的同學(xué)可以先閱讀上一篇的內(nèi)容椭更。本文會帶大家詳細(xì)的解讀dyld-852.2源碼中關(guān)于APP啟動最重要的一個函數(shù)_main()哪审。...