【Android性能工具】騰訊開源工具APT

来源:http://www.cnblogs.com/AlexBai326/archive/2016/10/09/5941232.html
-Advertisement-
Play Games

做App測試時監測使用期間的cpu,記憶體,流量,電量等指標時,發現的企鵝很好用的工具。 備份至此,方便後期查閱 轉載自CSDN的文章:【騰訊開源】Android性能測試工具APT使用指南 原文URL http://www.csdn.net/article/2014-04-23/2819366-ten ...


做App測試時監測使用期間的cpu,記憶體,流量,電量等指標時,發現的企鵝很好用的工具。

備份至此,方便後期查閱

轉載自CSDN的文章:【騰訊開源】Android性能測試工具APT使用指南

原文URL http://www.csdn.net/article/2014-04-23/2819366-tencent-APT-open-source-tool-guide

APT提供了CPU利用率實時曲線圖、多維度記憶體實時曲線圖,方便競品對比測試和定位記憶體泄露問題;支持進程記憶體構成分析,支持手工或超過閾值時自動轉儲(Dump)詳細堆記憶體對象信息,支持多進程,支持生成和導出常用格式的的日誌圖表。

APT相比同類工具,具有下麵2大特性: 

  • 使用Java語言開發,基於Eclipse,跨平臺,支持windows、Linux和MAC;
  • 支持同時監控多個進程。

 

那如何高效利用APT工具呢?現在,我們為大家準備了從安裝部署到開啟APT各重要功能的介紹資料,方便大家參考。 

APT源碼地址https://code.csdn.net/Tencent/apt

歡迎大家進行建立分支和提交更改。


 

 

一、安裝部署

 

 

我們只需要將下載的APT_Eclipse_Plugin.jar文件( 前往CSDN CODE下載)放到Eclipse安裝目錄下的plugins文件夾下,然後重啟Eclipse即可。選擇“Eclipse工具欄Window - Open Perspective - Other”,選擇APT,即可啟動APT透視圖。

 

提示:我們需要提前安裝ADT插件。如果是升級安裝,可能需要在啟動Eclipse的快捷方式中添加“-clean”參數,清除插件的緩存信息。

 

 

二、CPU與記憶體檢測

 

1. “設置”視圖簡介

首先,我們對“設置”視圖的各標簽頁進行簡單介紹:

    • 首選頁:控制當前的測試內容;
    • CPU:可設置採樣間隔、CPU占有率的採集方法;提供top和dumpsys cpuinfo兩種方式;jiffies統計開關,可以精確量化CPU時間片消耗,適用於待機功耗測試;
    • 記憶體:可設置採集間隔、自動轉儲(Dump)記憶體快照開關、自動轉儲(Dump)記憶體快照閾值;可設置記憶體類型曲線顯示開關,此項在測試過程中可動態調整。

    

2. 啟動CPU與記憶體檢測

 

 

  • 在“設置”視圖的“首選項”選項卡中選擇監測項:CPU或記憶體
  • 點擊“進程列表”視圖右上角的刷新按鈕,獲取手機上的正在運行進程列表;
  • 在進程列表中雙擊或者右鍵添加要測試的進程(支持多選);
  • 點擊“開始”按鈕,即可啟動監測。

 

 

 

3. 生成統計表格

 

在CPU、記憶體視圖右邊的統計表格中會實時統計CPU、記憶體和jiffies等三個統計項的最大值、最小值、平均值和增量等統計數據。如下圖所示:

三、獲取記憶體快照

獲取記憶體快照的方式有2種,一種是手動方式,一種是自動獲取。

1. 手動獲取記憶體快照:在進程列表中右鍵點擊被測應用進程,選擇“Dump Hprof”。

2. 自動獲取記憶體快照:在“設置”視圖的“記憶體”選項卡中選擇開啟Dump Hprof功能。設定記憶體閾值後,啟動記憶體監測。

 

當被監控的進程記憶體超過設定的閾值後,會自動保存當前進程的記憶體快照hprof文件。記憶體快照.hprof文件保存在用戶根目錄\APT\log\hprof 目錄下,用Memory Analyzer(MAT)打開分析。

四、進程列表視圖

 

 

 

1. 開啟進程列表視圖

本視圖包括的選項有:

 

  • 開始/暫停按鈕:控制測試的開始和暫停。
  • 刷新按鈕:更新手機的狀態以及手機上的進程列表。
  • 打開log:打開APT生成的log,重新生成曲線圖。
  • 打開log存放的文件夾。

2. 被測進程列表

 

  • 支持手動輸入進程名添加到被測進程列表的方式,當測試某個進程的啟動過程時會很有用,因為開始的時候該進程並不存在。
  • 雙擊或者右鍵刪除被測的進程。
  • 被測進程左側的覆選框,用於控制測試過程中要顯示的進程曲線。

 

3. 運行進程列表

 

  • 展示手機上運行的進程列表,雙擊或者添加到被測進程列表。
  • 右鍵的上下文菜單:支持手動轉儲(DUMP)記憶體快照、GC、獲取PMAP文件等功能。

 

4. 進程記憶體構成分析

獲取快照:在進程列表中右鍵點擊被測應用進程,選擇“PMAP”,記憶體快照保存在: 用戶根目錄\APT\log\目錄下的“包名_pid_pmap_時間戳.txt”

查看快照:點擊Eclipse工具欄Windows-》ShowView-》other,選擇APT視圖PMAP, 在PMAP視圖中點擊打開快照文件。

可以同時選擇2次記憶體快照打開,會計算增量記憶體的占比,如下圖。可以發現兩次快照間被測應用釋放了21M的匿名記憶體映射。

五、註意事項

下麵是使用APT工具過程中需要主要的幾點內容,為您提示下:

 

  • APT中的DumpHprof和GC功能由於用到了DDMLIB的功能,所以有兩個限制;
  • 確保手機系統或者被測應用是可調試的;
  • DDMLIB不允許同時有多個工具獲取被調試手機上的進程信息,所以如果想用APT的這兩個功能,最好把Eclipse的透視圖切換到APT,然後重啟Eclipse;
  • 獲取PMAP文件需要root許可權,並且需要預設root。如果進入adb shell預設不是root許可權,可以優先執行adb root即可;
  • 最好將adb路徑加入到path中;
  • Eclipse需要安裝ADT插件。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 轉載請標明出處: http://www.cnblogs.com/zhaoyanjun/p/5942616.html 出自[趙彥軍博客] 2016/10/09 前言:以前寫過一篇 Android studio 使用Gradle發佈Android開源項目到JCenter 總結 ,這篇文章主要介紹如何把項 ...
  • 實現一個類似於ToggleButton的開關按鈕 效果圖: 資源圖片: 1.自定義控制項類 2.xml中引用 以上,將Demo運行到模擬器上即可。 圖解: ...
  • 在《Android 手機衛士--md5加密過程》中已經實現了加密類,這裡接著實現手機防盜功能 本文地址:http://www.cnblogs.com/wuyudong/p/5941959.html,轉載請註明出處。 手機防盜業務邏輯分析 輸入密碼成功後,根據是否設置完成四個導航界面決定跳轉到導航界面 ...
  • 1.簡單使用volley 2.封裝VolleyManager 完整代碼:https://github.com/snailycy/volley_manager 註意,volley裡面的請求隊列建議使用單例,因為每次實例化ReqeustQueue並start()時,會創建1個緩存線程和4個網路請求線程, ...
  • 一個關於自定義控制項的小Demo,隨著手指移動的小球。 先看下效果圖: 實現代碼如下: 1.自定義控制項類 2.引用自定義控制項 第一種:xml中引用 第二種:代碼中引用 以上,將Demo運行到模擬器或手機上,即可實現一個紅色的圓,隨著手指觸摸移動而移動的效果。 ...
  • 1.Android Studio 將module編譯打包成aar文件,module依賴的 (例如 )不會被打包進入aar文件,應用引入該aar文件(無論是本地引入,還是網路庫引入)時,都還需要在應用(app)module的依賴中填加aar module的依賴。否則應用運行時會crash。 因此,開發 ...
  • Android Weekly中文筆記, Issue #225. 本期內容包括: Android 7.0的Quick Settings; Firebase; 相容舊版本的shared element transition; Wear; ORM: 用ActiveAndroid做資料庫存儲; 崩潰報告工具... ...
  • 在之前的文章中,我們將用戶的密碼使用SharedPreferences存儲,我們打開/data/data/com.wuyudong.mobilesafe/shared_prefs文件夾下的 config.xml 文件,導入到本地,查看內容: 密碼居然使用的是明文,這樣是非常不安全的。這裡採用md5加 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...