Android UI優化—使用GPU呈現模式測試UI卡頓
方法一
1、開啟設定 -> 開發者選項 -> GPU呈現模式分析
2、開啟app相關介面,使用如下命名抓取資料
adb shell dumpsys gfxinfo com.xxx.packagename > D:\text.txt
3、根據text.txt得到的資料做成Excel表格
4、定位卡頓原因並解決
如下圖:
方法二
1、開啟設定 -> 開發者選項 -> GPU呈現模式分析
2、選擇顯示為條形圖
條形圖顯示結果如下圖:
GPU呈現模式條形圖分析
1、綠色的橫線為16ms標準線
關於什麼是16ms標準線,請參考
2、CPU和GPU工作原理
CPU和GPU的工作原理可以簡化成如下所示:
其中,CPU將計算出的UI資料放入圖形驅動層,然後GPU從圖形驅動層取出顯示。
3、不同顏色線的含義
紅色:“執行時間”,指的是Android渲染引擎執行盒子中這些繪製命令的時間
黃色: 指的是CPU和GPU會話時間
藍色: 檢視繪製所花費的時間,表示檢視在介面發生變化(更新)的用時情況
4、通過條形圖測試卡頓
當藍色低於綠線時不會出現卡頓
(不同手機的顏色可能不一致,但一般都有三種顏色)
相關推薦
Android UI優化—使用GPU呈現模式測試UI卡頓
方法一 1、開啟設定 -> 開發者選項 -> GPU呈現模式分析 2、開啟app相關介面,使用如下命名抓取資料 adb shell dumpsys gfxinfo com.xxx.packagename > D:\text.txt 3、根據text.txt
Android GPU呈現模式原理及卡頓掉幀淺析
APP開發中,卡頓絕對優化的大頭,Google為了幫助開發者更好的定位問題,提供了不少工具,如Systrace、GPU呈現模式分析工具、Android Studio自帶的CPU Profiler等,主要是輔助定位哪段程式碼、哪塊邏輯比較耗時,影響UI渲染,導致了卡頓。拿Profile GPU Renderin
Android開發者選項——Gpu呈現模式分析
對於Android使用者來說,無論你用的什麼品牌的手機,在開發者選項中都能發現“玄學曲線”的開關,之所以稱其為玄學曲線,還是因為它被很多網友用於測試一個說不清道不明的東西——流暢度。到底多流暢才叫流暢,多卡才叫卡,標準是什麼?用玄學曲線判斷流暢度到底靠不靠譜兒?今天,就教
Android UI優化—GPU過度繪製檢測工具的介紹和使用
GPU過度繪製 指螢幕上的一個畫素被繪製多次(超過一次) 如下圖 GPU過渡繪製監測工具使用方式 GPU過渡繪製監測工具的作用如下: 1、找出應用中哪些地方存在不必要的渲染 2、幫助開發者發現哪些地方可以減少渲染,提高程式執行效率 開啟方式如下: 設定-開發者選項-除錯
GPU呈現模式分析中顏色的意義
google官方解釋中文版:連結 google官方解釋英文詳細解釋:連結 下表介紹了使用執行 Android 6.0 及更高版本的裝置時分析器輸出中某個豎條的每個區段。 豎條區段 渲染階段 說明 交換緩衝區
玄學曲線——GPU呈現模式分析
參考Google的Android Performance Patterns(安卓效能典範) Profile GPU Rendering tool(GPU呈現模式分析),屬於GPU Profile工具中的一種。Profile GPU Rendering tool的目
Android UI優化—App啟動流程和啟動模式
Android 理論基礎 1、每一個Android App都執行在一個單獨的程序中 2、Android App由很多不同元件組成,這些元件還可以啟動其他App的元件 3、一個程序裡面只有一個主執行緒 4、程序在其需要的時候被啟動 基於上述共識,我們先來分析Android系統的啟動流程
Android 最簡單的測試UI卡頓
tostring override smo all ride isp ace ogr end 就兩個類: public class BlockDetectByPrinter { private static final String START = ">>
android介面UI美化:沉浸模式、全透明或半透明狀態列及導航欄的實現
android api19開始我們就能對頂部狀態列和底部導航欄進行半透明處理了,而api21開始則可以實現全透明狀態列與導航欄以及開啟沉浸模式,至於什麼是沉浸模式,大家百度一下應該就都知道了,有一點需要強調的是全透明不是沉浸模式,前者只是將狀態列、導航欄的背景設定為完全透明,而後者則是完全將狀態列與
Android的UI優化之merge、include、ViewStub標籤的使用
最近要對新接手的一個Android專案做效能優化,經過大量的查閱學習,總結了一些知識點,特此記錄。此篇記錄UI效能方面的優化思路。 說起UI的優化,不得不瞭解一下過度繪製的概念、產生原因和表現、檢視以及優化overdraw的方法。 1. 過度繪製(Ov
Android UI優化—使用Hierarchy Viewer工具分析UI結構
Hierarchy Viewer簡介 1、 是隨Android SDK釋出的工具,幫助開發者更好地檢視和設計UI 2、從視覺化的角度直觀地獲得UI佈局設計結構和各種屬性的資訊 3、對UI物件進行invalidate和requestLayout操作 Hierarchy Viewer工具
Android UI優化—使用Lint進行資源和冗餘UI佈局優化
Lint簡介 1、Lint 是Android Studio 提供的 程式碼掃描分析工具 2、Lint可以幫助我們發現程式碼結構/質量問題,同時提供一些解決方案 3、Lint 發現的每個問題都有描述資訊和等級 Android Studio 中使用 Lint的步驟 1、工具欄 -
Android UI優化—從Android渲染原理理解UI卡頓
Android渲染機制 1、Android系統每隔16ms發出VSYNC訊號,觸發對UI進行渲染 2、渲染的過程是由CPU與GPU協作完成 如下圖: 為什麼是16ms? 1、人眼與大腦之間的協作無法感知超過60fps的畫面更新 2、1000/60hz,相當於16ms 什
Android UI優化—常用UI優化技巧
<include>標籤 <include>標籤可以將一個指定的佈局載入到當前佈局中,增加布局的重用,在佈局中的使用方法如下: <Linearlayout android:layout_width="fill_parent"
Android UI優化— App啟動優化
黑白屏產生的原因和解決辦法 黑白屏產生的原因 1、還沒載入到佈局檔案,就已經顯示了window視窗背景 2、黑屏白屏就是window視窗背景 容易產生黑白屏的地方 1、Activity的onCreate()中 @Override pro
Android UI優化—DDMS—TraceView簡介和使用
TraceView簡介 1、TraceView 是 Android 平臺的一款效能分析的工具 2、TraceView通過圖形化的方式讓我們瞭解程式的效能 3、TraceView的分析可以具體到 method TraceView 本身只是一個數據分析工具,而資料的採集則需要使用 And
[Android] Android開發優化之——對介面UI的優化(2)
在一個應用程式中,一般都會存在多個Activity,每個Activity對應著一個UI佈局檔案。一般來說,為了保持不同視窗之間的風格統一,在這些UI佈局檔案中,幾乎肯定會用到很多相同的佈局。如果我們在每個xml檔案中都把相同的佈局都重寫一遍,一個是程式碼冗餘,可讀性
Android UI優化-merge標籤的使用
追求精益求精的程式設計師,專案開發完成怎麼能少的了優化,偶然間發現一個比較不錯的android 佈局優化神器,merge標籤,簡單實用,下面就跟大家分享一下: merge是什麼?merge的使用? 一、merge是什麼 merge直譯過來是合併的意
Web UI 優化自動化測試用例的穩定性
Web UI自動化測試的一個很重要的問題就是整個測試的穩定性,經常在執行測試的時候出現這樣或那樣的問題,而且大多都是穩定性問題,而非BUG,最近我針對同事的用例的穩定性問題做了些優化策略,
Android效能優化之UI渲染優化
原文轉自:http://www.cnblogs.com/yezhennan/p/5442031.html UI效能測試 效能優化都需要有一個目標,UI的效能優化也是一樣。你可能會覺得“我的app載入很快”很重要,但我們還需要了解終端使用者的期望,是否可以去量化這些期望