遇到tableView卡頓嘛?會(huì)造成卡頓的原因大致有哪些

3.遇到tableView卡頓嘛窘疮?會(huì)造成卡頓的原因大致有哪些袋哼?

可能造成tableView卡頓的原因有:

1.最常用的就是cell的重用, 注冊(cè)重用標(biāo)識(shí)符

如果不重用cell時(shí)考余,每當(dāng)一個(gè)cell顯示到屏幕上時(shí)先嬉,就會(huì)重新創(chuàng)建一個(gè)新的cell轧苫;

如果有很多數(shù)據(jù)的時(shí)候楚堤,就會(huì)堆積很多cell疫蔓。

如果重用cell,為cell創(chuàng)建一個(gè)ID身冬,每當(dāng)需要顯示cell 的時(shí)候衅胀,都會(huì)先去緩沖池中尋找可循環(huán)利用的cell,如果沒(méi)有再重新創(chuàng)建cell

2.避免cell的重新布局

cell的布局填充等操作 比較耗時(shí)酥筝,一般創(chuàng)建時(shí)就布局好

如可以將cell單獨(dú)放到一個(gè)自定義類(lèi)滚躯,初始化時(shí)就布局好

3.提前計(jì)算并緩存cell的屬性及內(nèi)容

當(dāng)我們創(chuàng)建cell的數(shù)據(jù)源方法時(shí),編譯器并不是先創(chuàng)建cell 再定cell的高度

而是先根據(jù)內(nèi)容一次確定每一個(gè)cell的高度嘿歌,高度確定后掸掏,再創(chuàng)建要顯示的cell,滾動(dòng)時(shí)宙帝,每當(dāng)cell進(jìn)入憑虛都會(huì)計(jì)算高度丧凤,提前估算高度告訴編譯器,編譯器知道高度后步脓,緊接著就會(huì)創(chuàng)建cell愿待,這時(shí)再調(diào)用高度的具體計(jì)算方法,這樣可以方式浪費(fèi)時(shí)間去計(jì)算顯示以外的cell

4.減少cell中控件的數(shù)量

盡量使cell得布局大致相同靴患,不同風(fēng)格的cell可以使用不用的重用標(biāo)識(shí)符仍侥,初始化時(shí)添加控件,

不適用的可以先隱藏

5.不要使用ClearColor鸳君,無(wú)背景色农渊,透明度也不要設(shè)置為0

渲染耗時(shí)比較長(zhǎng)

6.使用局部更新

如果只是更新某組的話,使用reloadSection進(jìn)行局部更新

7.加載網(wǎng)絡(luò)數(shù)據(jù)或颊,下載圖片腿时,使用異步加載,并緩存

8.少使用addView 給cell動(dòng)態(tài)添加view

9.按需加載cell饭宾,cell滾動(dòng)很快時(shí)批糟,只加載范圍內(nèi)的cell

10.不要實(shí)現(xiàn)無(wú)用的代理方法,tableView只遵守兩個(gè)協(xié)議

11.緩存行高:estimatedHeightForRow不能和HeightForRow里面的layoutIfNeed同時(shí)存在看铆,這兩者同時(shí)存在才會(huì)出現(xiàn)“竄動(dòng)”的bug徽鼎。所以我的建議是:只要是固定行高就寫(xiě)預(yù)估行高來(lái)減少行高調(diào)用次數(shù)提升性能。如果是動(dòng)態(tài)行高就不要寫(xiě)預(yù)估方法了弹惦,用一個(gè)行高的緩存字典來(lái)減少代碼的調(diào)用次數(shù)即可

12.不要做多余的繪制工作否淤。在實(shí)現(xiàn)drawRect:的時(shí)候,它的rect參數(shù)就是需要繪制的區(qū)域棠隐,這個(gè)區(qū)域之外的不需要進(jìn)行繪制石抡。例如上例中,就可以用CGRectIntersectsRect助泽、CGRectIntersection或CGRectContainsRect判斷是否需要繪制image和text啰扛,然后再調(diào)用繪制方法嚎京。

13.預(yù)渲染圖像。當(dāng)新的圖像出現(xiàn)時(shí)隐解,仍然會(huì)有短暫的停頓現(xiàn)象鞍帝。解決的辦法就是在bitmap context里先將其畫(huà)一遍,導(dǎo)出成UIImage對(duì)象煞茫,然后再繪制到屏幕帕涌;

14.使用正確的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)數(shù)據(jù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末续徽,一起剝皮案震驚了整個(gè)濱河市蚓曼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钦扭,老刑警劉巖辟躏,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異土全,居然都是意外死亡捎琐,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)裹匙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瑞凑,“玉大人,你說(shuō)我怎么就攤上這事概页∽延” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵惰匙,是天一觀的道長(zhǎng)技掏。 經(jīng)常有香客問(wèn)我,道長(zhǎng)项鬼,這世上最難降的妖魔是什么哑梳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮绘盟,結(jié)果婚禮上鸠真,老公的妹妹穿的比我還像新娘。我一直安慰自己龄毡,他們只是感情好吠卷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著沦零,像睡著了一般祭隔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上路操,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天疾渴,我揣著相機(jī)與錄音千贯,去河邊找鬼。 笑死程奠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的祭钉。 我是一名探鬼主播瞄沙,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼慌核!你這毒婦竟也來(lái)了距境?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤垮卓,失蹤者是張志新(化名)和其女友劉穎垫桂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體粟按,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诬滩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了灭将。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疼鸟。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖庙曙,靈堂內(nèi)的尸體忽然破棺而出空镜,到底是詐尸還是另有隱情,我是刑警寧澤捌朴,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布吴攒,位于F島的核電站,受9級(jí)特大地震影響砂蔽,放射性物質(zhì)發(fā)生泄漏洼怔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一左驾、第九天 我趴在偏房一處隱蔽的房頂上張望茴厉。 院中可真熱鬧,春花似錦什荣、人聲如沸矾缓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嗜闻。三九已至,卻和暖如春桅锄,著一層夾襖步出監(jiān)牢的瞬間琉雳,已是汗流浹背样眠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留翠肘,地道東北人檐束。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像束倍,于是被迫代替她去往敵國(guó)和親被丧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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