国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

RunLoop優化加載大量圖片的卡頓問題

2019-11-09 15:09:07
字體:
來源:轉載
供稿:網友

經典問題:在tableView的cell上加載高清大圖,tableView上有很多這樣的cell,也就是說 頁面展示的時候,要展示大量高清大圖。

普通的寫法會造成刷新UI耗費大量時間,使主線程阻塞。給用戶直觀的體驗就是頁面卡頓

所以這里為了解決這個問題,使用runloop,在runloop進入等待之前的這段空閑時間刷新UI,這樣做會使刷新UI的時機稍微向后挪了一點時間,但卡頓問題也不會有稍微提一下runloop ,runloop 最直觀的作用:

1、保證程序的運行,不退出。

2、負責事件的監聽(主要包括:觸摸(UI界面的交互)、時鐘事件、網絡事件)。

3、負責渲染屏幕上的所有UI(一次runloop循環需要渲染屏幕上所有UI變化點)。

runloop 的模式(runloop有兩種模式):

1、默認模式 NSDefaultRunLoopMode 蘋果推薦將定時器等放到這個模式下

2、UI模式 NSRunLoopCommonModes 該模式通常用于界面刷新、UI交互等

兩種模式有優先級的問題,第二種模式的優先級要高,所以定時器放在第一種模式下,當用戶和UI進行交互的的時候,定時器是不工作的,結束后才會馬上進入定時器事件那么問題來了,刷新UI要放在哪?

毫無疑問,肯定是主線程,但是還有一個問題,刷新UI 如果也是一個耗時操作,那么也會有卡頓問題

基于以上問題,提出運用runloop優化卡頓問題。

使用runloop優化卡頓的主要難點,在于如何監聽runloop的運行狀態,以及方法的保存和runloop任務的執行

runloop的運行狀態可以通過CoreFoundation解決,CoreFoundation是一個c語言的庫。下載地址:http://download.csdn.net/download/u011604049/9751591當初上傳的時候 選了個1分的下載分,沒分的直接聯系我,我發給你

好了,原理就是上面的原理,代碼有空我再發出來,著急的可以直接私我。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓝山县| 长海县| 平山县| 讷河市| 海宁市| 福安市| 望谟县| 吉隆县| 富平县| 石柱| 大安市| 罗甸县| 黑山县| 普格县| 原阳县| 五莲县| 宁夏| 六盘水市| 阳江市| 福建省| 雷波县| 津南区| 灌云县| 井冈山市| 靖西县| 湘乡市| 汉寿县| 福清市| 综艺| 晋江市| 镇坪县| 广东省| 肇庆市| 乾安县| 定安县| 台安县| 秭归县| 夏河县| 邵武市| 耒阳市| 新竹市|