iOS 性能優(yōu)化相關(guān)整理(待補充)

1. 基礎(chǔ)優(yōu)化

????1. 減少使用xib及storyboard(加載速度慢锄贼;導(dǎo)致APP啟動時間比較耗時,因為在APP啟動main()以前需要加載他們)

2. 懶加載

可以節(jié)省內(nèi)存資源,用到時才去加載所使用對象

3. 單例模式

? ?在項目開發(fā)過程中會用到很多重大開銷對象(比如NSDateFormatter和 NSCalendar)强品,如我們在列表需要計算用戶年齡的時候會經(jīng)常用到NSDateFormatter屈糊,還有一些時間的格式化輸出,或者在網(wǎng)絡(luò)請求的時候需要傳一些時間戳逻锐,所以我們可以把NSDateFormatter放在單利里面,這樣就不用經(jīng)常創(chuàng)建了

4.?離屏渲染

在開發(fā)中晓淀,我們常用有圓角處理盏档、陰影凶掰、遮罩等等蜈亩;先說說圓角優(yōu)化吧,我們一般設(shè)置圓角的方式如下:

view.layer.cornerRadius = 10;

view.layer.maskToBounds = YES;

這樣處理的渲染機制是GPU在當前屏幕緩沖區(qū)外新開辟一個渲染緩沖區(qū)進行工作畅涂,也就是離屏渲染道川,這會給我們帶來額外的性能損耗,如果這樣的圓角操作達到一定數(shù)量冒萄,會觸發(fā)緩沖區(qū)的頻繁合并和上下文的的頻繁切換,性能的代價會宏觀地表現(xiàn)在用戶體驗上——掉幀宦言。

優(yōu)化方案:

a.可以做一個透明的png圖片蓋在上面;

b.使用貝塞爾曲線UIBezierPath和Core Graphics框架畫出一個圓角蜘澜;

c.使用CAShapeLayer和UIBezierPath設(shè)置圓角响疚;

d.也可以將圖片的處理放在服務(wù)端(比如:七牛云儲存就可以設(shè)置圖片的圓角);

e.盡量把view設(shè)置成不透明的。

5. 列表TableView優(yōu)化

? ? ? ?5.1提前計算好cell的高度,緩存在相應(yīng)的數(shù)據(jù)源模型中

?????????tableView的代理回調(diào)方法中,先調(diào)用的是返回cell高度的方法,然后在返回實例化cell的方法.我們可以在返回cell高度時,提前計算好cell的高度,在獲取數(shù)據(jù)后臺數(shù)據(jù)的時候,把cell高度計算出來,緩存到數(shù)據(jù)源模型中.?在返回cell高度的方法中,直接讀取緩存的高度,而不需要在重新計算了.

????????5.2 盡可能的降低storyboard,xib等使用度

????????通過Interface知道xib或者storyboard本身就是一個xml文件,添加刪除控件必然中間多了一個encode/decode過程,增加了cpu的計算量.并且 還要避免臃腫的 XIB 文件,因為XIB文件在主線程中進行加載布局.當用到一些自定義View或者XIB文件時,XIB的加載會把所有內(nèi)容加載進來,如果XIB里面的一些控件并不會用到,這就可能造成一些資源的消耗浪費装诡。

????????5.3?滑動過程中盡量減少重新布局

????????5.4.少用或不用透明圖層

????????使用不透明視圖。對于不透明的View鸦采,設(shè)置opaque為YES,這樣在繪制該View時渔伯,就不需要考慮被View覆蓋的其他內(nèi)容(盡量設(shè)置Cell的view為opaque,避免GPU對Cell下面的內(nèi)容也進行繪制)

? ??? ??5.5 ?滑動時按需加載對應(yīng)的內(nèi)容

????????如果目標行與當前行相差超過指定行數(shù)选浑,只在目標滾動范圍的前后指定3行加載玄叠。滑動很快時读恃,只加載目標范圍內(nèi)的cell,這樣按需加載(配合SDWebImage)舀寓,極大提高流暢度胆数。



參考資料:

iOS中UITableView的性能優(yōu)化

iOS-性能優(yōu)化的那些事

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末必尼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子判莉,更是在濱河造成了極大的恐慌,老刑警劉巖券盅,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锰镀,死亡現(xiàn)場離奇詭異,居然都是意外死亡泳炉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門氧腰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人古拴,你說我怎么就攤上這事』苹荆” “怎么了?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵焕参,是天一觀的道長油额。 經(jīng)常有香客問我,道長潦嘶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任航厚,我火速辦了婚禮锰蓬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芹扭。我一直安慰自己,他們只是感情好舱卡,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布轮锥。 她就那樣靜靜地躺著,像睡著了一般舍杜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝴簇,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天熬词,我揣著相機與錄音吸重,去河邊找鬼。 笑死嚎幸,一個胖子當著我的面吹牛寄猩,可吹牛的內(nèi)容都是我干的嫉晶。 我是一名探鬼主播田篇,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼泊柬,長吁一口氣:“原來是場噩夢啊……” “哼椎镣!你這毒婦竟也來了兽赁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤惊科,失蹤者是張志新(化名)和其女友劉穎亮钦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體或悲,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡堪唐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年淮菠,在試婚紗的時候發(fā)現(xiàn)自己被綠了男公。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片合陵。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖踏拜,靈堂內(nèi)的尸體忽然破棺而出低剔,到底是詐尸還是另有隱情肮塞,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布枕赵,位于F島的核電站位隶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏涧黄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一恋谭、第九天 我趴在偏房一處隱蔽的房頂上張望挽鞠。 院中可真熱鬧疚颊,春花似錦信认、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽款熬。三九已至攘乒,卻和暖如春贤牛,著一層夾襖步出監(jiān)牢的瞬間则酝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工般卑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留爽雄,地道東北人蝠检。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓叹谁,卻偏偏與公主長得像迟杂,于是被迫代替她去往敵國和親本慕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

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

  • 在開發(fā)iOS應(yīng)用程序時监氢,讓程序具有良好的性能是非常關(guān)鍵的藤违。這也是用戶所期望的浪腐,如果你的程序運行遲鈍或緩慢顿乒,會招致用...
    imkakaxi閱讀 1,005評論 0 0
  • OC的理解與特性O(shè)C作為一門面向?qū)ο蟮恼Z言,自然具有面向?qū)ο蟮恼Z言特性:封裝特漩、繼承骨杂、多態(tài)涂身。它既具有靜態(tài)語言的特性(...
    LIANMING_LI閱讀 516評論 0 0
  • 一. 如何讓你的應(yīng)用程序更加省電蛤售?答:(1). 如果程序用到定位,需要在定位完畢之后關(guān)閉定位悴能,或者降低定位的頻率,...
    Hevin_Chen閱讀 1,140評論 0 4
  • 一漠酿、如何提高一個應(yīng)用程序的性能佑女?1记靡、使用ARC減少內(nèi)存失誤团驱,dealloc需要重寫并對屬性置nil空凸。2、重用呀洲。3啼止、...
    金歌漫舞閱讀 983評論 2 6
  • 文|泡泡圈漫評團 木白沉 第十四章 畫玖睜眼的那一瞬間有點發(fā)愣兵罢,好像沒明白到底發(fā)生了什么事情,但是門外傳來熙熙攘攘...
    泡泡國漫漫研社閱讀 696評論 0 6