iOS頁面卡頓問題的的優(yōu)化

1. 計(jì)算UITableViewCell高度問題####

問題一:做ios開發(fā)的都知道在不定高的table里計(jì)算UITableViewCell高度是個(gè)很蛋疼的時(shí)
解決: UITableViewCell里的元素到使用約束布局培漏,根據(jù)約束來得到高度。就不用來自己計(jì)算高度了浇辜。

問題二:ios8跟ios7高度計(jì)算機(jī)制不同辕羽,ios7會緩存已經(jīng)得到過的高度,ios8每次都會去計(jì)算一次高度奔誓。
解決:自己做一下高度的緩存咯刃永。

問題三:在什么時(shí)候計(jì)算高度比較好呢硬猫?在滑動的時(shí)候再去計(jì)算高度,肯定也會消耗一些性能的对途。
解決:預(yù)緩存機(jī)制赦邻,利用RunLoop空閑時(shí)間執(zhí)行預(yù)緩存任務(wù)。

這三個(gè)問題大神都解決了实檀,原文鏈接

在一些不復(fù)雜的Cell可以用這種方法惶洲,可以加快開發(fā)效率按声,不用自己計(jì)算高度了。但是在一些復(fù)雜視圖里签则,還是自己用frame去計(jì)算高度,并自己在后臺線程里緩存比較好铐料,因?yàn)閍utolayout本身比frame是更消耗資源的渐裂。


以下內(nèi)容是對ibireme同學(xué)的iOS 保持界面流暢的技巧博文的學(xué)習(xí)。感謝大神的分享

2. CPU資源消耗優(yōu)化####

  • 對象創(chuàng)建
    盡量用輕量的對象代替重量的對象钠惩,可以對性能有所優(yōu)化柒凉。比如 CALayer 比 UIView 要輕量許多,那么不需要響應(yīng)觸摸事件的控件篓跛,用 CALayer 顯示會更加合適膝捞。
  • 對象調(diào)整
    對象的調(diào)整也經(jīng)常是消耗 CPU 資源的地方。當(dāng)視圖層次調(diào)整時(shí)愧沟,UIView蔬咬、CALayer 之間會出現(xiàn)很多方法調(diào)用與通知,所以在優(yōu)化性能時(shí)沐寺,應(yīng)該盡量避免調(diào)整視圖層次林艘、添加和移除視圖。
  • 對象銷毀
    我之前一般都不會取銷毀對象的混坞,看來我錯(cuò)了北启,一些沒用的資源還是要及時(shí)銷毀的。
    如果對象可以放到后臺線程去釋放拔第,那就挪到后臺線程去。這里有個(gè)小 Tip:把對象捕獲到 block 中场钉,然后扔到后臺隊(duì)列去隨便發(fā)送個(gè)消息以避免編譯器警告蚊俺,就可以讓對象在后臺線程銷毀了。
    NSArray *tmp = self.array;
    self.array = nil;
    dispatch_async(queue, ^{
    [tmp class];
    });
  • 布局計(jì)算
    視圖布局的計(jì)算是 App 中最為常見的消耗 CPU 資源的地方逛万。如果能在后臺線程提前計(jì)算好視圖布局泳猬、并且對視圖布局進(jìn)行緩存(可以在model里算好寬高位置等,不要多次計(jì)算)宇植,那么這個(gè)地方基本就不會產(chǎn)生性能問題了得封。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市指郁,隨后出現(xiàn)的幾起案子忙上,更是在濱河造成了極大的恐慌,老刑警劉巖闲坎,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疫粥,死亡現(xiàn)場離奇詭異茬斧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梗逮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門项秉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人慷彤,你說我怎么就攤上這事娄蔼。” “怎么了底哗?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵岁诉,是天一觀的道長。 經(jīng)常有香客問我艘虎,道長唉侄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任野建,我火速辦了婚禮属划,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘候生。我一直安慰自己同眯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布唯鸭。 她就那樣靜靜地躺著须蜗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪目溉。 梳的紋絲不亂的頭發(fā)上明肮,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音缭付,去河邊找鬼柿估。 笑死,一個(gè)胖子當(dāng)著我的面吹牛陷猫,可吹牛的內(nèi)容都是我干的秫舌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼绣檬,長吁一口氣:“原來是場噩夢啊……” “哼足陨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娇未,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤墨缘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體飒房,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搁凸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狠毯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片护糖。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖嚼松,靈堂內(nèi)的尸體忽然破棺而出嫡良,到底是詐尸還是另有隱情,我是刑警寧澤献酗,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布寝受,位于F島的核電站,受9級特大地震影響罕偎,放射性物質(zhì)發(fā)生泄漏很澄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一颜及、第九天 我趴在偏房一處隱蔽的房頂上張望甩苛。 院中可真熱鬧,春花似錦俏站、人聲如沸讯蒲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽墨林。三九已至,卻和暖如春犯祠,著一層夾襖步出監(jiān)牢的瞬間旭等,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工衡载, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留辆雾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓月劈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親藤乙。 傳聞我的和親對象是個(gè)殘疾皇子猜揪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

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

  • http://blog.csdn.net/guojin08/article/details/60773120 屏幕...
    pony23閱讀 895評論 0 2
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,130評論 30 470
  • 這篇文章會非常詳細(xì)的分析 iOS 界面構(gòu)建中的各種性能問題以及對應(yīng)的解決思路,同時(shí)給出一個(gè)開源的微博列表實(shí)現(xiàn)坛梁,通過...
    翻炒吧蛋滾飯閱讀 2,307評論 0 19
  • 1.請你談?wù)剆tatic和宏定義的區(qū)別而姐。什么時(shí)候用static什么時(shí)候用宏定義。 讓你聲明的常量只在你聲明的文件里...
    LikeSomeBody閱讀 1,682評論 0 0
  • http://blog.sina.com.cn/s/blog_5b6cb950010116om.html 建表ca...
    cure_py閱讀 322評論 0 0