UI 介面效能優化(一)

2021-07-24 15:52:51 字數 598 閱讀 7570

人類大腦與眼睛對乙個畫面的連貫**知其實是有乙個界限的,譬如我們看電影會覺得畫面很自然連貫,其幀率通常為 24fps;那麼,用手機當然也需要感知螢幕操作的連貫性(尤其是動畫過渡),所以在手機領域 android/ios 索性就把達到這種流暢的幀率規定為 60fps。

盡量保證每幀在 16ms 內處理完所有的 cpu 與 gpu 計算、繪製、渲染等操作,否則會造成丟幀卡頓問題。

基於上面的卡頓原理,我們知道所謂的卡頓其實是可以量化的,每次是否能夠成功渲染是非常重要的問題,即 16ms 能否完整的做完一次操作直接決定了卡頓效能問題。

引起 ui 卡頓的常見原因有如下幾種:

1) 主線程做了阻塞 ui 的耗時操作;

2) 同一時刻動畫執行多次導致 gpu 和 cpu 過度繪製;

3) view 過度繪製導致 gpu 和 cpu 過度繪製;

4) 頻繁地進行布局繪製、文字計算等操作導致 view 需要重新渲染;

5) 頻繁的物件建立和銷毀;

6) 過度複雜的業務邏輯,耗時函式。

詳情見下篇)

iOS效能優化UI篇(一)

這是乙個老生常談的話題,程式猿的一生除了在編譯 寫bug 改bug,就是在不斷地重構優化,優化的點也多種多樣,其中最直觀有效的就是ui部分的優化了,這方面有很多相關資料,也有如yykit texture這種神級框架從根源上解決了卡頓的問題。作為菜鳥的我無法像大佬們一樣從根源上分析解決ui效能問題,只...

效能優化1 UI優化

1.使用系統為我們提供了幾個抽象的標籤 include 重用 include中layout屬性指定乙個外部布局檔案,通過該方式則不需要把這個布局檔案在該 中重複的寫一遍了。若include指定了其他的android layout 的這種屬性,則layou width和layout height必須存...

會話介面 UI簡單優化和介紹

環境 imkit 2.8.2 sdk 會話介面ui優化和介紹 一 會話介面 介紹 imkit res layout rc fr messagelist.xml 這個會話介面的xml 二 訊息listiview的item介紹 imkit res layout rc item message.xml 這...