runloop解决Cell上主线程卡顿
生活随笔
收集整理的這篇文章主要介紹了
runloop解决Cell上主线程卡顿
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1解決cell上的主線程加載卡頓問題
- 通過添加runloop 觀察者,卡頓等待的時候進行處理
-
視頻地址
-
v.youku.com/v_show/id_X…
-
RunLoopMode 5 種mode
-
使用 C 創建觀察者
-
獲取當前的runloop: CFRunLoopRef runloop = CFRunLoopGetCurrent();
-
創建觀察者
-
參數1:分配者,NUll 或者Defaul ,參數2:活動標志,等待前處理,參數3:重復,參數4:從0開始,參數5:監聽到的回調函數地址,參數6:觀察者上下文,結構體指針
-
上面參數callout,需要傳入函數的地址,觀察者,活動狀態,本文背景是等待的情況下,傳入的info
-
添加觀察者
-
在回調中回去self,獲取不到,需要用上下文中的info參數傳遞,
-
在上面回調中處理cell中添加的任務
-
cell中的任務加載block中,將代碼塊添加到數組中,延遲執行
-
將任務加入到任務數組中
-
callback 方法中,執行任務,執行之后刪除任務
轉載于:https://juejin.im/post/5b8fa300f265da0afc2bd6a8
總結
以上是生活随笔為你收集整理的runloop解决Cell上主线程卡顿的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5前端知识分享:Vue入门
- 下一篇: 服务启动异常处理