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

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

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

2019-11-09 14:10:34
字體:
來源:轉載
供稿:網友

經典問題:在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分的下載分,沒分的直接聯系我,我發給你

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邯郸县| 新巴尔虎左旗| 西昌市| 原平市| 乌拉特后旗| 江口县| 二手房| 佛坪县| 四子王旗| 济宁市| 德清县| 潼关县| 沛县| 铅山县| 全椒县| 丽江市| 芜湖县| 海晏县| 临江市| 民权县| 梧州市| 晋宁县| 平远县| 湖州市| 石屏县| 庆安县| 甘德县| 罗田县| 股票| 清镇市| 武城县| 余庆县| 澄城县| 张掖市| 榆社县| 定西市| 保山市| 长春市| 宝清县| 定陶县| 甘德县|