iOS中runloop總結(一)

定義:
runLoop是運行循環,處理app中的事件,保持程序的持續運行

內部運行邏輯:
1.通知Observers進入loop,處理timer、事件、block
2.事件處理完成后通知Observers進入休眠狀態,等待消息喚醒
3.通知Observers結束休眠,開始處理事件

項目用到的地方:
1.線程保活,控制線程生命周期
2.解決NSTimer在滑動時停止工作的問題
3.監控應用卡頓
4.性能優化

runloop和線程的關系:
一個線程對應一個RunLoop,主線程的RunLoop默認創建并啟動,子線程的RunLoop需手動創建且手動啟動(調用run方法)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
禁止轉載,如需轉載請通過簡信或評論聯系作者。

推薦閱讀更多精彩內容

  • 1.什么是RunLoop RunLoop 實際上是一個對象,這個對象在循環中用來處理程序運行過程中出現的各種事件(...
    哲里菲樺閱讀 265評論 0 1
  • 通過前面幾篇文章可以知道RunLoop實際上是一個事件處理的循環.只要一個線程啟動了RunLoop,在它沒有收到事...
    brownfeng閱讀 1,966評論 0 7
  • __CFRunLoops是一個字典已線程作為key CFRunLoopRef作為value 從以上代碼分析可以看到...
    大墻66370閱讀 3,866評論 1 10
  • 1、runloop是來做什么的?runloop和線程有什么關系?主線程默認開啟了runloop么?子線程呢? 參考...
    二斤寂寞閱讀 381評論 0 0
  • 目錄 Runloop RunLoop 與線程 個人理解總結 應用場景 1. 什么是RunLoop 基本作用 保持程...
    Ryan___閱讀 1,522評論 0 13