談一談對RunLoop的理解

Runloop理解:

每個線程都有一個消息循環(huán)—>消息循環(huán)監(jiān)聽著輸入事件—>事件有兩種類型—>輸入源和定時源—>將創(chuàng)建好的輸入源以確定的模式加入消息循環(huán)中 —> 由于子線程消息循環(huán)默認(rèn)不開啟, 所以線程中無法監(jiān)聽到是否有方法需要其執(zhí)行,就會銷毀,導(dǎo)致方法執(zhí)行不到 —> 需要開啟子線程的消息循環(huán) —> 三種開啟方法, run開啟了無法關(guān)閉, runUntilDate雖然開啟了確定的時間也不靠譜 , 蘋果提供了判斷模式,點擊run 右邊幫助欄查找. RunLoop是時間循環(huán)闯传,負(fù)責(zé)監(jiān)聽事件,保證應(yīng)用程序持續(xù)運行。監(jiān)聽到事件后,向注冊的對象發(fā)送消息,從而實現(xiàn)事件響應(yīng)

Runloop(消息循環(huán))的目的

保證程序不退出負(fù)責(zé)處理輸入事件

事件類型如下:
如果沒有事件發(fā)生, 會讓程序進入休眠狀態(tài),通俗的講择吊,runloop主要就是為保證程序在執(zhí)行過程中不會被系統(tǒng)終止,確保不斷的監(jiān)聽用戶交互行為

runloop的運行循環(huán)模式:

有5種模式
第一種就是默認(rèn)模式: 也就是一般的方法調(diào)用使用的模式。
第二種就是跟蹤模式: 用于scrollview追蹤觸摸滑動, 使其不受其他模式的影響, 可以共存菠镇。
第三種就是當(dāng)程序啟動時第一次開啟的運行循環(huán)模式。
第四種的話 一般開發(fā)中沒聽到過承璃。沒有去研究過利耍。
第五種是一種占位模式。不過沒什么太大用處盔粹。
系統(tǒng)默認(rèn)注冊了5個Mode:

NSDefaultRunLoopMode:App 的默認(rèn) Mode隘梨,通常主線程是在這個 Mode 下運行(默認(rèn)情況下運行)
UITrackingRunLoopMode:界面跟蹤 Mode,用于 ScrollView 追蹤觸摸滑動舷嗡,保證界面滑動時不受其他 Mode 影響(操作 UI 界面的情況下運行)
UIInitializationRunLoopMode:在剛啟動 App 時進入的第一個 Mode轴猎,啟動完成后就不再使用
GSEventReceiveRunLoopMode:接受系統(tǒng)事件的內(nèi)部 Mode,通常用不到(繪圖服務(wù))
NSRunLoopCommonModes:這是一個占位用的 Mode进萄,不是一種真正的 Mode (RunLoop無法啟動該模式捻脖,設(shè)置這種模式下,默認(rèn)和操作 UI 界面時線程都可以運行中鼠,但無法改變 RunLoop 同時只能在一種模式下運行的本質(zhì))

Runloop本質(zhì):

其實是一個結(jié)構(gòu)體可婶。里面有observer。nstimer援雇。source(監(jiān)聽事件的)等等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末矛渴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子惫搏,更是在濱河造成了極大的恐慌曙旭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晶府,死亡現(xiàn)場離奇詭異桂躏,居然都是意外死亡,警方通過查閱死者的電腦和手機川陆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門剂习,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事鳞绕∈剩” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵们何,是天一觀的道長萄焦。 經(jīng)常有香客問我,道長冤竹,這世上最難降的妖魔是什么拂封? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮鹦蠕,結(jié)果婚禮上冒签,老公的妹妹穿的比我還像新娘。我一直安慰自己钟病,他們只是感情好萧恕,可當(dāng)我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肠阱,像睡著了一般票唆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屹徘,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天走趋,我揣著相機與錄音,去河邊找鬼缘回。 笑死吆视,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的酥宴。 我是一名探鬼主播啦吧,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拙寡!你這毒婦竟也來了授滓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肆糕,失蹤者是張志新(化名)和其女友劉穎般堆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诚啃,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡淮摔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了始赎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片和橙。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡仔燕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魔招,到底是詐尸還是另有隱情晰搀,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布办斑,位于F島的核電站外恕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乡翅。R本人自食惡果不足惜鳞疲,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峦朗。 院中可真熱鬧建丧,春花似錦排龄、人聲如沸波势。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尺铣。三九已至,卻和暖如春争舞,著一層夾襖步出監(jiān)牢的瞬間凛忿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工竞川, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留店溢,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓委乌,卻偏偏與公主長得像床牧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子遭贸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容