• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 性能測試工具traceview簡介

    發表于:2012-10-09來源:Anjuke QA Team作者:irishan點擊數: 標簽:traceview
    一、 TraceView工具簡述 Traceview是android平臺配備的一個很好的性能分析工具。它可以通過圖形界面的方式讓我們了解我們要跟蹤的程序的性能,并且能具體到method。

      一、 TraceView工具簡述

      Traceview是android平臺配備的一個很好的性能分析工具。它可以通過圖形界面的方式讓我們了解我們要跟蹤的程序的性能,并且能具體到method。

      二、 TraceView工具使用方法

      TraceView有三種啟動方式,下面逐一介紹:

      1、 代碼中啟動

      可以在代碼中添加

      Debug.startMethodTracing(“Tracelog”);

      Debug.stopMethodTracing();

      使用這種方式需要確保應用的AndroidMainfest.xml中的SD卡的讀寫權限是打開的,即

      應用運行完后,會在SD卡下生成一個Tracelog文件,使用adb pull把這個文件拷貝至XP系統上,再在android sdk的tools目錄下執行traceview Tracelog,則會彈出一個圖形界面,通過這個圖形界面就可以分析出應用的性能瓶頸;

      2、 Eclipse中啟動

      Eclipse啟動traceview及其簡單,在DDMS中對需要分析的應用進程點擊如下按鈕

      在需要停止traceview的地方點擊相同的按鈕,則Eclipse會自動彈出類似1中的一個圖形界面;

      3、 adb 命令行啟動

      adb shell am profile start

      adb shell am profile stop

      PROCESS_ID為應用的進程號,可以用ps命令獲取,TRACE_FILE為需要存儲的Trcaelog文件。

      執行上面的命令后,會生成對應的TRACE_FILE,使用adb pull把這個文件拷貝至XP系統上,再在android sdk的tools目錄下執行traceview Tracelog,則會彈出一個圖形界面,通過這個圖形界面就可以分析出應用的性能瓶頸;

      三、 TraceView界面說明

      上述步驟生成的圖形界面如下所示:

      1、時間軸面板:

      每個線程的執行都顯示在隨著時間漸增右移的各自行上。不同的方法用不同的顏色來表示。下面的細線顯示選中方法的調用時長(由進入到退出)。

      2、Profile面板:

      該表給出了the inclusive and exclusive times及他們所占有的百分比。

      Exclusive time是該函數本身基本操作(不包括子函數調用)的時間。

      Inclusive time是該函數調用所用的時間(包括子函數調用)的時間。

      列1:”Name”表示函數名。

      雙擊函數名,可以看到在上半界面是時間軸面圖(Timeline Panel)看他的所消耗的時間段。(用粗的線段標注)。

      雙擊函數名左邊的”+”展開后可以看到,該函數的”parents”和”children”

      列2:”incl%”表示函數的Inclusive time在整個MethodTracing時間里占的百分比。

      列3:”Inclusive”表示Inclusive time。

      列4:”Excl%”表示函數的Exclusive time在整個MethodTracing時間里占的百分

      比。

      列5:”Exclusive”表示Exclusive time。

      列6:”Calls+RecurCalls/Total”表示對函數的調用次數(包括遞歸調用)。

      列7: 新的版本(比如2.2)還有”time/calls”表示平均的調用時間(即Inclusive time/

      total calls)。

      注:如果函數A調用函數B那么函數A稱為函數B的”parents”,函數B稱為函數A的”children.”

      四、 TraceView工具實例使用說明

      本例以安居客選擇一個城市中的一套房源進行收藏的過程為例,詳細講述如何使用TraceView工具。

      操作步驟如下:

      1、 啟動Eclipse,并連接上模擬器;

      2、 在模擬器上啟動安居客應用,并打開DDMS,選中安居客進程;

      3、 點擊Start profile method按鈕;

      4、 在安居客中打開一套房源,等待房源成功打開后查看大圖并進行收藏;

      5、 點擊DDMS中的stop profile method按鈕,將會在 Eclipse中自動彈出一個圖形界面。

      按照平均調用時間(time/calls)從大到小來進行排序,見下圖:

      從上圖可知,DetailActivityForPicture.onCreat()函數的平均調用時間為4.034秒,共調用了1次,調用時間相對較久,再看它調用的子函數。其中,子函數DetailActivityForPicture.initInfo()的調用時間為0.9s。相對時間較長,若需要優化性能,需要對initInfo()執行時間進行優化。

      下面再來看DetailActivityForPicture.initInfo()函數的子函數的情況,如圖:

      進一步可分析出來initFavoriteButton()調用時間最長為0.4s。依次查詢下去,見下圖:

      DialogBoxUtil.getFavoriteWindow()和FavoritePropertyModel.函數可以進行優化。如上性能分析結果,可供開發人員參考,并有針對地進行性能優化。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>