1. 程式人生 > >android HierarchyViewer檢視檢視層級關係

android HierarchyViewer檢視檢視層級關係

  今天看到一篇文章,講的是UI過度繪製,裡面有提到很多方法,比較不錯。想想確實有時候我們在做開發時候,發現UI效能怎麼那邊差,也沒有做什麼複雜的操作。那為什麼會效能很差呢。也找不到好的辦法來分析。但是Android提供了一個工具:HierarchyViewer視覺化除錯工具,它幫助我們分析View的計算和繪製時間。

 1. 開啟Idea開發工具:Tools-->Android-->Android device Monitor

  2.開啟adb,連線上模擬器。

    天天模擬器連線地址:adb connect 127.0.0.1:6555

          

 3.模擬器啟動應用程式,進入到應用頁面。

 4.切換到電腦Android device Monitor,點選選單window-->openperspective,選中hierarchy View;就會出來Tree view,該檢視可以展示選中avtivity的所有控制元件層級。

 5.再點選左側要除錯的activity等,此時Tree view就會展示出所有的控制元件。如下:

看   到層級關係,可能會想到:出現效能慢是否和層級太多,佈局耗費太多時間?對,所以第一步要檢查下佈局問題。
   那怎麼知道每個控制元件耗費時間?
   選中檢視樹裡面的控制元件,點選,就會展示每個控制元件的詳細資訊。

                              

   但是這樣看比較麻煩,每個控制元件都要點選看一下。有一個快捷的方式可以把所有控制元件使用時間一下展示出,步驟就是點選右上角的下圖中紅框的按鈕

            

   點選或,Tree view裡面的所有佈局會展示3個點如上圖有顯示,依次表示:

   計算時間、佈局時間、繪製時間。紅色就是要關注的了。一張圖很好的說明了引數含義:


   有3個顏色:綠色,黃色,紅色,紅色代表著耗時最長,也就意味著我們需要優化,我們可以不斷點選,檢視  測量佈局以及繪製所需要的時間,從而優化。

  如果發現出現紅色,就需要對該控制元件進行優化了。

  參考:http://www.open-open.com/lib/view/open1421656495031.html

相關推薦

android HierarchyViewer檢視檢視層級關係

  今天看到一篇文章,講的是UI過度繪製,裡面有提到很多方法,比較不錯。想想確實有時候我們在做開發時候,發現UI效能怎麼那邊差,也沒有做什麼複雜的操作。那為什麼會效能很差呢。也找不到好的辦法來分析。但

Android studio 如何檢視 library 間的依賴關係

一、配置環境 Android Studio中使用的 gradle 版本一般不是最新版,所以在使用其自帶的 Terminal 時容易報版本過低的錯誤,為了方便使用,我從 gradle 官網下載了最新版的 gradle ,然後配置好 gradle 的環

Android的Activity檢視層級分析

Activity檢視層級圖 Activity的初始化 Activity的初始化是從從Activity的setContentView(),原始碼為 public void setContentView(View view) {

檢視專案層級結構layout檢視樹-hierarchyviewer工具

檢視專案的檢視樹和專案的view的層級結構有個sdk自帶的工具:sdk-tools-hierarchyviewer工具 雙機開啟後: 選擇自己的專案,點選Load View Hierarchy: 這樣就能檢視自己專案的layout佈局的檢視樹,一目瞭然,點選相

Android Studio中檢視類的繼承關係

檢視類的繼承關係的快捷鍵F4,在Android Studio常用快捷鍵這篇文章中,有寫了。今天主要是講一些關於這個快捷鍵出來的介面的一些配置,這塊功能相對偏冷一些,可能很多人都會用不到。但是關於這些配置,android studio中很多都是類似的。 廢話不多說,直接上圖

android網路圖片檢視

package com.itheima74.internetpicturelook; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; impo

Android windows+chrome 檢視Realm資料庫

Stetho Stetho是Facebook出品的一個非常強大的Android除錯工具。 啟用後,開發人員可以使用Chrome瀏覽器的Chrome開發者工具功能。 開發人員還可以選擇啟用可選的dumpapp工具,它為應用程式內部提供了強大的命令列介面。  Stetho可以監聽網路請求,

[Xcode10 實際操作]二、檢視與手勢-(2)UIView檢視的層次關係

本文將演示建立三個檢視物件,其中第二個檢視是第三個檢視的父檢視。 現在開始編寫程式碼,實現這項功能 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDid

android之如何檢視模擬器或者真機的螢幕解析度

import android.app.Activity; import android.os.Bundle; import android.util.DisplayMetrics; import android.widget.TextView; public class EX03_05 ext

最方便的Android線上原始碼檢視工具

需要檢視Android系統原始碼的朋友, 可以使用QTrace, 檢視線上Android原始碼非常方便. QTrace下載:http://www.onlinedown.net/soft/1223124.htm,linux,window都可以執行.   集成了三個線上And

source insight 檢視被呼叫關係

如何檢視一個函式在工程中都是哪裡被呼叫了,方法如下: 1.開啟視窗:view->relation windows. 2.滑鼠移動到你需要的函式處,點選relation windows視窗的重新整理按鈕.等待working 一段時間 3.點選relation windows右下角的r

android Studio裡檢視db檔案

一個外掛即可解決android studio檢視db檔案的問題  外掛名就是database  首先去setting找到plugings搜尋database 點選藍色的文字 選擇我標記的這個 記住別下載錯了 接下來就是等待下載完然後按照提示重啟android s

golang 檢視程式碼呼叫關係

go-callvis 是github上一個開源專案,可以用來檢視golang程式碼呼叫關係。 安裝 安裝graphviz $ brew install graphviz 安裝go-callvis go get -u github.com/TrueFurby/go-c

Android學習-列表檢視ListView

一、簡介: ListView,列表檢視,直接繼承了AbsListView,是一個以垂直方式在專案中顯示View檢視的列表。ListView的資料項,來自一個繼承了ListAdapter介面的介面卡。 二、新建一個包listview並新建ListViewActivity.java活動:

Android學習-滾動檢視ScrollView和HorizontalScrollView

一、簡介: ScrollView,通過官方文件的繼承關係可以看出,它繼承自FrameLayout,所以它是一種特殊型別的FrameLayout,因為它可以使用使用者滾動顯示一個佔據的空間大於物理顯示的檢視列表。值得注意的是,ScrollView只能包含一個子檢視或檢視組,在實際專案中,通

Android學習-網格檢視GridView

一、簡介: GridView是一個以表格形式顯示多張圖片等元件。它是按照行列的方式來顯示內容的,比如實現九宮格圖,用GridView是首選。 二、程式碼塊: 看過我上一篇部落格的同學應該知道,一步一步全部步驟寫出來是很費時間的,大概流程就那樣,所以這次網格檢視就直接上程式碼

Android手機root,檢視sqllite資料庫檔案

除錯手機紅米note4 1.自行百度,獲取紅米note4手機root許可權 2.cmd 開啟dos彈窗 3.輸入adb shell  -->  su--->  chmod 7777 /data  ----->  chmod 7777 /data/dat

Android自定義檢視-手指移動軌跡

今天看了大神寫的關於貝塞爾曲線的部落格,就寫下了關於手指軌跡的一篇部落格, 一、什麼是貝塞爾曲線             貝塞爾曲線(Bézier curve),又稱貝茲曲

解決 Android 26 無法檢視系統原始碼的問題

隨著 Android 8.0 的正式釋出,相信有些朋友已經升級 SDK 開始使用新特性了。然而需要注意的是,這一次 Google 並沒有及時釋出與之對應的 Android-26 原始碼。這帶來的問題是,當你按下 command 同時單擊某個系統 API 想瀏覽原始碼文件時,會

Android--ListView(列表檢視)的使用

前言 當你要將某個從資料庫或者檔案中獲得相當大的資料,在介面中向用戶展示的時候,由於定義一個個檢視比較麻煩,Android中提供了類似於陣列的控制元件–ListView。 使用方法: 假設我們要轉的資料是一個Person物件陣列 package cn.zhuangz