Android UI優化—從Android渲染原理理解UI卡頓
Android渲染機制
1、Android系統每隔16ms發出VSYNC訊號,觸發對UI進行渲染
2、渲染的過程是由CPU與GPU協作完成
如下圖:
為什麼是16ms?
1、人眼與大腦之間的協作無法感知超過60fps的畫面更新
2、1000/60hz,相當於16ms
什麼是GPU?
解釋什麼是GPU,首先要弄清楚一個概念—柵格化。
柵格化就是將Button,Shape,Path,String,Bitmap等UI元件拆分到不同的畫素上進行顯示。如下圖:
UI的渲染過程由CPU和GPU共同完成,其中CPU負責把UI元件計算成Polygons,Texture紋理,然後交給GPU進行柵格化渲染。 GPU的引入就是為了加快柵格化的操作。
CPU和GPU協同工作的示意圖如下:
UI卡頓的原因
沒有辦法在16ms內完成UI更新操作
如何解決UI卡頓
1、優化UI層次結構,去除不必要的巢狀,儘量使佈局扁平化
2、減少過度繪製
相關推薦
Android UI優化—從Android渲染原理理解UI卡頓
Android渲染機制 1、Android系統每隔16ms發出VSYNC訊號,觸發對UI進行渲染 2、渲染的過程是由CPU與GPU協作完成 如下圖: 為什麼是16ms? 1、人眼與大腦之間的協作無法感知超過60fps的畫面更新 2、1000/60hz,相當於16ms 什
Android效能優化第(十 一)篇---卡頓分析,正確評測流暢度
一、FPS評測應用流暢度不準確 說到應用的流暢度,都會想到FPS,系統獲取FPS的原理是:手機螢幕顯示的內容是通過Android系統的SurfaceFLinger類,把當前系統裡所有程序需要顯示的資訊合成一幀,然後提交到螢幕上進行顯示,FPS就是1秒內Surf
Android進階——效能優化之佈局渲染原理和底層機制詳解(四)
引言 UI 全稱User Interaction,我第一次聽到這個名詞是在大學的時候,當時候上人機互動課,我們教授說他認為iPhone的i 就是代表Interaction的意思,暫且不必爭辯是非。回到我們軟體開發中來,UI是使用者感知與互動的第一且唯一的途徑,
瀏覽器渲染原理及web前端分析,從瀏覽器渲染原理談頁面優化
瀏覽器渲染原理及web前端分析 瀏覽器的主要功能 使用者介面:包括位址列、後退/前進按鈕、書籤目錄等,也就是除了用來顯示你所請求頁面的主視窗之外的其他部分。 瀏覽器引擎:用來查詢及操作渲染引擎的介面。另外還用來操作瀏覽器的資料儲存。 渲染引擎:用來顯示請求的內容,例如,如果請求內容為html
Android UI優化—使用Hierarchy Viewer工具分析UI結構
Hierarchy Viewer簡介 1、 是隨Android SDK釋出的工具,幫助開發者更好地檢視和設計UI 2、從視覺化的角度直觀地獲得UI佈局設計結構和各種屬性的資訊 3、對UI物件進行invalidate和requestLayout操作 Hierarchy Viewer工具
Android UI優化—使用GPU呈現模式測試UI卡頓
方法一 1、開啟設定 -> 開發者選項 -> GPU呈現模式分析 2、開啟app相關介面,使用如下命名抓取資料 adb shell dumpsys gfxinfo com.xxx.packagename > D:\text.txt 3、根據text.txt
Android效能優化之 App啟動原理分析及速度和時間優化
應用的啟動速度緩慢這是很多開發者都遇到的一個問題,比如啟動緩慢導致的黑屏,白屏問題,大部分的答案都是做一個透明的主題,或者是做一個Splash介面,但是這並沒有從根本上解決這個問題。那麼如何從根本上解決這個問題或者做到一定程度的緩解? 一、應用的啟動方式 1、冷啟動:
從瀏覽器渲染原理,淺談迴流重繪與效能優化
目錄 前言 瀏覽器的渲染引擎 渲染流程 渲染樹與渲染物件 迴流 全域性佈局和增量佈局 "迴流"還是"重排"?
LG G3升級Android 6.0 Marshmallow方法親測!介面渲染精美,拒絕卡頓,提升續航!
14年入手的國行LG G3 d857機子,一直很喜歡LG的knock code和簡潔的流線型外觀,周身無按鍵的和背部按鍵的設計確實提升了操作體驗。去年LG OTA推送了Android 5.0 Lollipop果斷更新之,但用後發現問題多多:手機發熱、耗電嚴重、電話程式卡頓偶
Android效能優化之Android安裝包大小優化
隨著應用業務功能的日益複雜,使用的第三方庫和SDK也會日益增加,這樣導致的直接後果就是安裝包的體積日漸增加,除了使用外掛化的手段,減少安裝包的體積,我們還可以從以下幾個方面著手,進行安裝包大小的優化。 程式碼混淆 ProGuard是一個開源的Java程式碼混淆器
【Android效能優化】Android圖片載入方案--Bitmap的記憶體管理和優化方案
如果你覺得對你有幫助的話,希望可以star/follow一下喲,我會持續保持更新。 寫在前面:筆者的上一篇博文有提到過,如果不恰當的使用Bitmap,很容易造成OOM。這篇博文就來談談應該如何正確的管理Bitmap的記憶體,以及優化策略。
Android Scrollview巢狀RecycleView滑動不流暢,卡頓問題
最近在做專案時,需要仿QQ那樣的彈性動畫效果。於是就用ScrollView加RecycleView開始了。 <com.dten.assistant.ui.view.MyScrollView android:layout_width="ma
android webview 載入本地html並且解決多圖卡頓問題
使用webview載入本地html,因為本地html使用多張圖片,滑動起來卡頓,解決方法如下: 把資料夾放入assets資料夾下 Activity載入: WebView wView = (
Android多個fragment懶載入的坑(卡頓)
在Android開發中,有很多種情況都是viewpage+fragment左右滑動進行佈局的,例如下面的今日頭條 在今日頭條app上,我們可以看到,其頂部都是一欄的型別資料來源,可滑動,可聯動下面的viewpage裡的fragment,但是很多時候,viewpage+fragment中
android中scrollview巢狀HorizontalScrollView導致橫向滑動卡頓現象解決
也許會有人遇到,在這裡說下解決方法。方便以後有人糾結這個問題。 開發中經驗會遇到滑動裡面嵌入滑動的問題,但是這種情況下觸控事件就會發生衝突。導致滑動非常卡,甚至出現程式停止響應。這種情況下我們一般需要重寫view。下面給出重新scrollview的方法 ? pub
Android輸入法彈出重新整理介面佈局導致性卡頓
說明: 在MainActivity中開啟登入頁,登入頁開啟輸入法後MainActivity的介面重新整理導致圖片重新載入,由於首頁圖片多,導致輸入卡頓,app變慢,解決辦法:控制MainActivit
免費解決Android studio 3.0更新後搜狗輸入法卡頓問題
免費、輕鬆、舒服、完美 個人經歷,我也遇到了非常噁心的問題,一查CSDN,有替換jre、升級java版本、搜狗輸入法智慧版、bing輸入法、谷歌輸入法,有些下載還需要幣的,需要幣的竟然還有失敗案例,沒一個是能舒服地解決問題。 我是找了個8.6版本的搜狗輸入法,切記是8.6
理解Android的handler機制--從應用到原理再到實踐
關於Android的多執行緒機制,面試的時候總是問到,今天專門寫這個部落格,目的是把handler說清楚。 分別從下面四個方向說清楚。 由來 問題:為什麼有handler? 我們知道java是支援多執行緒的,而一個APP只有一個UI(即螢幕只有一個),如果每個執行緒
Android效能優化之UI渲染優化
原文轉自:http://www.cnblogs.com/yezhennan/p/5442031.html UI效能測試 效能優化都需要有一個目標,UI的效能優化也是一樣。你可能會覺得“我的app載入很快”很重要,但我們還需要了解終端使用者的期望,是否可以去量化這些期望
Android 卡頓優化 2 渲染優化
運動 發布 Language 嚴重 onresume 背景色 容易 微信 對比 1、概述 2015年初google發布了Android性能優化典範,發了16個小視頻供大家欣賞,當時我也將其下載,通過微信公眾號給大家推送了百度雲的下載地址(地址在文末,ps:歡迎大家訂閱公眾號