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