淺談TableView的優(yōu)化

UITableView是iOS開發(fā)中使用最頻繁的控件之一, 所以關于UITableView的優(yōu)化問題也是經(jīng)常要去面對的一個問題.

一. 首先是性能優(yōu)化.

主要的兩個優(yōu)化方式:
a.
保證UITableViewCell正確設置了reuseIdentifier, 如果相同的cell未進行重用, 那么每顯示一行cell就會創(chuàng)建一個全新的cell, 這對性能的影響是相當大的.

b.
保證heightForRowAtIndex: 方法中除了計算cell高度以外沒有其他無關操作, 一定要緩存行高, 因為這個方法調(diào)用非常的頻繁, 重復不必要的操作和計算會損耗性能.

二. 關于子視圖的優(yōu)化:

a.
保證所有的子視圖都指定了背景顏色, 很多程序員在開發(fā)中都會遇到的一個情況就是在兩個控制器之間跳轉(zhuǎn)時, 如果目標控制器沒有設置背景顏色, 就會出現(xiàn)卡頓的現(xiàn)象, 但其實cell也是一樣的, 如果子控件沒有指定背景顏色, 會影響TableView滾動的流暢度.
b.
保證不透明視圖的opaque屬性都是YES,因為系統(tǒng)在渲染視圖的時候如果發(fā)現(xiàn)opaque屬性的值是YES, 那么就會優(yōu)化一些渲染的過程, 提高性能. 所以盡量少用或不用透明圖層可以極大的提高渲染速度.
c.
保證UIImageView中顯示的圖片大小跟UIImageView的大小相同, 因為在運行中縮放圖片是以個會耗費資源的操作. 如果圖片是從遠端服務器加載是不能控制圖片大小的, 需要下載完成后馬上在子線程中執(zhí)行縮放的操作.

關于異步操作的優(yōu)化:

d.
如果cell中的內(nèi)容來自網(wǎng)絡或者遠端服務器, 一定要保證是異步加載, 并緩存請求到的結果. 避免阻塞和數(shù)據(jù)的重復請求.
e.
圖形界面的繪制盡量轉(zhuǎn)到異步操作, 這樣可以避免圖片的繪制會打斷用戶交互了

三. 關于XIB文件優(yōu)化:

f.
如果是復雜且需要高效的界面, 盡量將SB和XIB創(chuàng)建的界面改為代碼創(chuàng)建, 減輕系統(tǒng)需要進行XML轉(zhuǎn)碼操作的負擔.

四. 是內(nèi)存優(yōu)化.

a.
盡量保證一個XIB文件中只有一個視圖, 因為加載一個XIB的時候, 所有的內(nèi)容都被放在內(nèi)存里, 包括圖片素材, 如果有一個不會即刻用到的視圖, 那么就是在浪費我們寶貴的內(nèi)存了, 并且過于龐大的XIB會延長app的啟動時間, 所以沒有必要的話, 最好在SB中創(chuàng)建視圖.

b.
一定要處理內(nèi)存警告, 在收到內(nèi)存警告后,否則就可能會因為內(nèi)存占用過高出現(xiàn)閃退.

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阎姥,一起剝皮案震驚了整個濱河市酷鸦,隨后出現(xiàn)的幾起案子妆距,更是在濱河造成了極大的恐慌疫蔓,老刑警劉巖航罗,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異匾鸥,居然都是意外死亡京腥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門丰榴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來货邓,“玉大人,你說我怎么就攤上這事四濒』豢觯” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵盗蟆,是天一觀的道長戈二。 經(jīng)常有香客問我,道長喳资,這世上最難降的妖魔是什么觉吭? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮仆邓,結果婚禮上鲜滩,老公的妹妹穿的比我還像新娘伴鳖。我一直安慰自己,他們只是感情好绒北,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布黎侈。 她就那樣靜靜地躺著,像睡著了一般闷游。 火紅的嫁衣襯著肌膚如雪峻汉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天脐往,我揣著相機與錄音休吠,去河邊找鬼。 笑死业簿,一個胖子當著我的面吹牛瘤礁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播梅尤,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼柜思,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了巷燥?” 一聲冷哼從身側響起赡盘,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缰揪,沒想到半個月后陨享,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡钝腺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年抛姑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艳狐。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡定硝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出毫目,到底是詐尸還是另有隱情喷斋,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布蒜茴,位于F島的核電站星爪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏粉私。R本人自食惡果不足惜顽腾,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抄肖,春花似錦久信、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至管毙,卻和暖如春腿椎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夭咬。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工啃炸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卓舵。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓南用,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掏湾。 傳聞我的和親對象是個殘疾皇子裹虫,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

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

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,131評論 30 470
  • 視圖控制對象通過alloc和init來創(chuàng)建,但是視圖控制對象不會在創(chuàng)建的那一刻就馬上創(chuàng)建相應的視圖融击,而是等到需要使...
    Coder_JMicheal閱讀 504評論 0 2
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫筑公、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,064評論 4 62
  • 當我們開發(fā)iOS應用時砚嘴,好的性能對我們的App來說是很重要的十酣。你的用戶也希望如此涩拙,但是如果你的app表現(xiàn)的反應遲鈍...
    iOS開發(fā)攻城獅閱讀 1,522評論 0 14
  • 在殘酷的現(xiàn)實面前际长,相比于鈔票,職位兴泥,房子工育,車子這樣有實質(zhì)安全感的實物外,愛似乎有那么一點廉價搓彻,而愛又那么虛幻如绸,所以...
    心眸閱讀 268評論 0 0