在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MacroBenchmark的性能測(cè)試量化指標(biāo)方案

jf_uPRfTJDa ? 來源: 移動(dòng)Labs ? 2023-10-17 10:15 ? 次閱讀

Labs 導(dǎo)讀

基于Benchmark的性能測(cè)試量化指標(biāo)方案是一種用于評(píng)估和量化系統(tǒng)性能的方法。通過使用Benchmark測(cè)試工具,該方案旨在提供可靠的性能數(shù)據(jù),并使用具體的指標(biāo)來衡量系統(tǒng)在各個(gè)方面的表現(xiàn)。本文將介紹基于Google MacroBenchmark的性能量化指標(biāo)測(cè)試的工程配置、測(cè)試流程、核心指標(biāo)和應(yīng)用案例,幫助Android 開發(fā)者更好地評(píng)估和比較App的性能。

作者:孫仁偉

單位:中國(guó)移動(dòng)智慧家庭運(yùn)營(yíng)中心

Part 01背景

隨著App業(yè)務(wù)不斷增長(zhǎng)和功能的迭代,代碼量快速增加,導(dǎo)致應(yīng)用結(jié)構(gòu)復(fù)雜度提高。同時(shí),在App開發(fā)過程中,與競(jìng)爭(zhēng)對(duì)手的App進(jìn)行性能比較也是必要的。為了避免代碼增長(zhǎng)和功能迭代帶來的性能下降,我們需要一套技術(shù)方案來監(jiān)控App版本的性能,以指導(dǎo)開發(fā)人員及時(shí)進(jìn)行代碼重構(gòu)。

Part 02方案說明

Benchmark,即基準(zhǔn)測(cè)試,是檢查和監(jiān)控應(yīng)用性能的一種方式。通過對(duì)每個(gè)移動(dòng)App版本的迭代運(yùn)行基準(zhǔn)測(cè)試,可以幫助分析和調(diào)試性能問題,并確保迭代的更改不會(huì)引起性能下降。

以下是一些常見的移動(dòng)App的benchmark方法和工具:

1.Startup Time Benchmark:評(píng)估應(yīng)用程序的啟動(dòng)時(shí)間,即從用戶點(diǎn)擊應(yīng)用圖標(biāo)到應(yīng)用程序完全加載并可交互的時(shí)間。可以使用各種工具和方法來測(cè)量啟動(dòng)時(shí)間,如使用應(yīng)用性能監(jiān)測(cè)工具或手動(dòng)計(jì)時(shí)。

2.Responsiveness Benchmark:評(píng)估應(yīng)用程序?qū)τ脩舨僮鞯捻憫?yīng)速度,包括用戶界面的流暢度和操作的延遲。可以使用性能監(jiān)測(cè)工具記錄用戶操作和應(yīng)用程序響應(yīng)時(shí)間,或者進(jìn)行用戶體驗(yàn)測(cè)試來評(píng)估應(yīng)用的響應(yīng)性能。

3.Memory Usage Benchmark:評(píng)估應(yīng)用程序在運(yùn)行過程中使用的內(nèi)存量。可以使用內(nèi)存分析工具來監(jiān)測(cè)應(yīng)用程序的內(nèi)存使用情況,并進(jìn)行比較和分析。

4.Battery Consumption Benchmark:評(píng)估應(yīng)用程序?qū)υO(shè)備電池的消耗情況。可以使用電池消耗監(jiān)測(cè)工具來測(cè)量應(yīng)用程序在不同使用情景下的電池消耗量,并進(jìn)行比較和分析。

5.Network Performance Benchmark:評(píng)估應(yīng)用程序在使用網(wǎng)絡(luò)功能時(shí)的性能和速度。可以使用網(wǎng)絡(luò)性能監(jiān)測(cè)工具來模擬不同網(wǎng)絡(luò)條件下的應(yīng)用性能,并進(jìn)行測(cè)試和比較。

針對(duì)Startup Time Benchmark和Responsiveness Benchmark,Google提供了Macrobenchmark庫(kù),該庫(kù)主要用于評(píng)估Android App整體性能的基準(zhǔn)測(cè)試。其旨在模擬真實(shí)世界的使用情景,通過測(cè)試用例以涵蓋各種應(yīng)用使用過程中交互操作,以綜合評(píng)估應(yīng)用的性能和響應(yīng)能力。

2.1 Macrobenchmark

2.1.1 設(shè)置Macrobenchmark

1. 打開應(yīng)用Application工程,在 Android Studio 的 Project 面板中右鍵點(diǎn)擊項(xiàng)目或模塊,然后依次點(diǎn)擊 New > Module。

2. 從Templates窗格中選擇 Benchmark。

3. 自定義目標(biāo)應(yīng)用(要進(jìn)行基準(zhǔn)測(cè)試的應(yīng)用),以及新的Macrobenchmark模塊的軟件包和模塊名稱。

4. 點(diǎn)擊Finish,從而創(chuàng)建Macrobenchmark Module。

8ce88210-6b2e-11ee-939d-92fbcf53809c.png

2.1.2 創(chuàng)建Macrobenchmark類

在Macrobenchmark,我們根據(jù)業(yè)務(wù)自身情況,創(chuàng)建所需的性能指標(biāo)Benchmark測(cè)試用例。測(cè)試用例可以基于Macrobenchmark 庫(kù)中的`MacrobenchmarkRule` JUnit4規(guī)則所含的API實(shí)現(xiàn)。

比如我們現(xiàn)在需要對(duì)App應(yīng)用啟動(dòng)時(shí)間進(jìn)行監(jiān)控。則可以在Macrobenchmark Module編寫一個(gè)測(cè)試用例類,在測(cè)試用例類中編寫測(cè)試用例方案,如測(cè)量5次打開應(yīng)用時(shí)間。

創(chuàng)建startup測(cè)試用例,該用例基于MacrobenchmarkRule.measureRepated。

8d01c842-6b2e-11ee-939d-92fbcf53809c.png

其中各參數(shù):

packageName:App的包名;

metrics:測(cè)量度量。此處我們選擇 StartupTimeMetric,標(biāo)識(shí)測(cè)量啟動(dòng)時(shí)長(zhǎng);

iterations:重復(fù)次數(shù)。表示該項(xiàng)用例的測(cè)試次數(shù),可以通過多次測(cè)量取均值的方式,避免單次測(cè)量的偏差影響;

setupBlock:用例前置操作。;

最后的 {} :用例內(nèi)容。此處我們執(zhí)行 startActivityAndWait,表示啟動(dòng)App并等待啟動(dòng)完成,App首幀顯示。

2.1.3 運(yùn)行基準(zhǔn)

在Android Studio中運(yùn)行測(cè)試,以衡量應(yīng)用在設(shè)備上的性能。可以像使用測(cè)試類或方法旁邊的邊線操作運(yùn)行任何其他 `@Test` 一樣運(yùn)行基準(zhǔn),如下圖所示。

8d1403a4-6b2e-11ee-939d-92fbcf53809c.png

也可以通過`gradle`命令,從命令行運(yùn)行Gradle模塊中的所有基準(zhǔn):

8d291de8-6b2e-11ee-939d-92fbcf53809c.png

2.1.4 基準(zhǔn)結(jié)果

基準(zhǔn)運(yùn)行成功后,指標(biāo)會(huì)直接顯示在Android Studio中,還會(huì)以JSON文件形式輸出以供持續(xù)集成環(huán)境使用。

每次衡量的迭代過程均會(huì)捕獲單獨(dú)的系統(tǒng)跟蹤文件。點(diǎn)擊Test Results窗格中的其中一個(gè)鏈接,可以打開這些結(jié)果跟蹤文件,如下圖所示。即平均啟動(dòng)時(shí)長(zhǎng)為748.1ms。

8d3a8eca-6b2e-11ee-939d-92fbcf53809c.png

跟蹤文件加載完成后,Android Studio會(huì)提示您選擇要分析的進(jìn)程。系統(tǒng)會(huì)預(yù)先填充目標(biāo)應(yīng)用進(jìn)程:

8d501b64-6b2e-11ee-939d-92fbcf53809c.png

跟蹤文件加載完成后,Studio將在CPU性能剖析器工具中顯示結(jié)果:

8d64bb1e-6b2e-11ee-939d-92fbcf53809c.png

Part 03應(yīng)用實(shí)例

在實(shí)驗(yàn)工程中,在Application.onCreate中增加了200ms睡眠。

運(yùn)行實(shí)驗(yàn)工程,構(gòu)建App,運(yùn)行App,運(yùn)行Macrobenchmark。在CPU性能剖析器工具中可以看到主線程在app.onCreate方法執(zhí)行時(shí)耗時(shí)達(dá)223.12ms。

8d76e708-6b2e-11ee-939d-92fbcf53809c.png

通過分析CPU性能剖析器工具 的示圖,可以判斷app.onCreate 時(shí),主線程存在約200ms異常時(shí)延。再閱讀相關(guān)代碼,可以查出該異常部分的睡眠邏輯。

將該異常睡眠邏輯移除,從新運(yùn)行實(shí)驗(yàn)工程,構(gòu)建App,運(yùn)行App,運(yùn)行Macrobenchmark。

在CPU性能CPU性能剖析器工具中可以看到主線程在app.onCreate方法耗時(shí)約為22.01ms,時(shí)延正常,方法執(zhí)行過程中只執(zhí)行了相關(guān)調(diào)用方法,說明問題得到了修復(fù)。

8d87e490-6b2e-11ee-939d-92fbcf53809c.png

通過以上案例,我們可以看出通過Macrobenchmark + CPU性能剖析器工具, 我們可以對(duì)應(yīng)用特定場(chǎng)景進(jìn)行時(shí)延分析,并對(duì)新增時(shí)延進(jìn)行有效歸因,從而能針對(duì)性的進(jìn)行優(yōu)化處理。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3958

    瀏覽量

    129077
  • APP
    APP
    +關(guān)注

    關(guān)注

    33

    文章

    1583

    瀏覽量

    73561
  • 中國(guó)移動(dòng)
    +關(guān)注

    關(guān)注

    22

    文章

    5590

    瀏覽量

    72538
  • 性能測(cè)試
    +關(guān)注

    關(guān)注

    0

    文章

    216

    瀏覽量

    21591

原文標(biāo)題:技術(shù) | 基于MacroBenchmark的性能測(cè)試量化指標(biāo)方案

文章出處:【微信號(hào):5G通信,微信公眾號(hào):5G通信】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    射頻電纜及測(cè)試電纜組件的性能指標(biāo)

    該文詳細(xì)討論了射頻電纜及測(cè)試電纜組件的各項(xiàng)指標(biāo)性能,為廣大測(cè)試工程人員在選用高性能高可靠性射頻測(cè)試
    發(fā)表于 10-30 11:28 ?1889次閱讀

    Linux性能測(cè)試性能測(cè)試指標(biāo)詳解

    性能測(cè)試指標(biāo)是衡量系統(tǒng)性能的評(píng)價(jià)標(biāo)準(zhǔn),常用的系統(tǒng)性能測(cè)試指標(biāo)
    發(fā)表于 12-23 14:50 ?670次閱讀

    性能指標(biāo)測(cè)試

    性能指標(biāo)測(cè)試
    發(fā)表于 08-17 14:51

    請(qǐng)問ZIGBEE的硬件性能指標(biāo)都要測(cè)試哪些內(nèi)容

    我們公司買了一臺(tái)萊特波特的IQxel ,現(xiàn)在要用來測(cè)試ZIGBEE 的射頻,想問一下ZIGBEE 硬件性能指標(biāo)都要測(cè)試哪些內(nèi)容,在多少范圍才算是一個(gè)良好的ZIGBEE模塊
    發(fā)表于 08-17 06:11

    性能充放電方案在電池測(cè)試設(shè)備中的應(yīng)用

    及內(nèi)阻等指標(biāo)進(jìn)行測(cè)試,對(duì)于電池測(cè)試設(shè)備的系統(tǒng)設(shè)計(jì)最重要的三個(gè)指標(biāo)是充放電精度,成本和轉(zhuǎn)換效率。 對(duì)于電池測(cè)試設(shè)備的核心功能電池充放電,市面上
    發(fā)表于 11-08 06:36

    INT8量化常見問題的解決方案

    一、int8的輸出和fp32模型輸出差異比較大 解決方案: 檢查前后處理是否有問題,int8網(wǎng)絡(luò)輸入輸出一般需要做scale處理,看看是否遺漏? 通過量化可視化工具分析int8的輸出和fp32
    發(fā)表于 09-19 06:09

    數(shù)據(jù)庫(kù)性能評(píng)測(cè)指標(biāo)及其測(cè)試方法

    近些年來,國(guó)產(chǎn)數(shù)據(jù)庫(kù)得到了快速的發(fā)展,但是針對(duì)其性能測(cè)試方法和測(cè)試指標(biāo)卻參差不齊。針對(duì)上述問題,中國(guó)軟件評(píng)測(cè)中心在大量數(shù)據(jù)庫(kù)測(cè)試的基礎(chǔ)之上
    發(fā)表于 03-17 15:22 ?79次下載

    關(guān)于UV膠理化指標(biāo)性能測(cè)試方法的介紹

    幾種常見的UV膠水性能測(cè)試方法,希望對(duì)大家有所幫助! 目前UV膠水的理化指標(biāo)可大致分為:外觀、密度、粘度、硬度、力學(xué)性能等,具體性能
    發(fā)表于 01-19 11:14 ?6613次閱讀

    電纜性能指標(biāo)測(cè)試方法

    熟悉電纜電性能指標(biāo)種類及定義; 掌握電纜電性能指標(biāo)測(cè)試方法; 建立電纜重要性能指標(biāo)的檢驗(yàn)常態(tài)化機(jī)制。
    發(fā)表于 06-22 10:19 ?15次下載

    軟件性能測(cè)試常見指標(biāo)

    軟件性能測(cè)試是指測(cè)試I程師運(yùn)用各種自動(dòng)化測(cè)試工具在正常、峰值或者特殊異常情況下對(duì)系統(tǒng)軟件進(jìn)行測(cè)試,以檢測(cè)系統(tǒng)的
    的頭像 發(fā)表于 10-31 17:44 ?1504次閱讀

    軟件性能測(cè)試常見指標(biāo)。在哪里測(cè)試測(cè)試

    軟件性能測(cè)試是指測(cè)試I程師運(yùn)用各種自動(dòng)化測(cè)試工具在正常、峰值或者特殊異常情況下對(duì)系統(tǒng)軟件進(jìn)行測(cè)試,以檢測(cè)系統(tǒng)的
    發(fā)表于 12-22 23:13 ?450次閱讀

    軟件性能測(cè)試方案怎么編寫?

    一、軟件性能測(cè)試方案是什么? 軟件性能測(cè)試方案是針對(duì)軟件產(chǎn)品開展
    的頭像 發(fā)表于 02-28 15:04 ?2161次閱讀

    射頻測(cè)試線纜的性能指標(biāo)有哪些?

    射頻測(cè)試線纜是一種用于連接測(cè)試儀器和被測(cè)器件的線纜,其性能直接影響測(cè)試結(jié)果的準(zhǔn)確性。因此,了解射頻測(cè)試線纜的
    的頭像 發(fā)表于 04-07 14:35 ?3.4w次閱讀

    半導(dǎo)體IC測(cè)試解決方案測(cè)試指標(biāo)包含哪些?

    半導(dǎo)體IC測(cè)試解決方案測(cè)試指標(biāo)包含哪些? 半導(dǎo)體IC測(cè)試解決方案
    的頭像 發(fā)表于 11-09 09:24 ?1197次閱讀

    性能測(cè)試主要測(cè)什么 性能測(cè)試指標(biāo)有哪些

    性能測(cè)試是軟件測(cè)試的一個(gè)重要組成部分,主要用于評(píng)估軟件系統(tǒng)在各種負(fù)載條件下的性能表現(xiàn)。性能測(cè)試
    的頭像 發(fā)表于 05-29 15:42 ?3160次閱讀
    主站蜘蛛池模板: 中文字幕在线看视频一区二区三区 | 久久99精品久久久久久野外 | 狠狠色丁香婷婷综合欧美 | 长腿丝袜美女被啪啪 | 男人免费看片 | 中文字幕一区二区三区四区 | 国产精品亚洲一区二区三区在线播放 | 亚洲视频一二 | 狠狠插综合网 | 午夜精品久久久久久久2023 | 速度与激情在线 | 日韩精品视频免费观看 | 天堂一区二区在线观看 | 久久夜色tv网站免费影院 | 在线播放一区二区精品产 | 男女交性高清视频无遮挡 | 国产男女免费视频 | 欧美ggg| 五月天婷婷色图 | 性夜影院爽黄a爽在线看香蕉 | 日本三级三级三级免费看 | 天天骑天天干 | 我把美女日出白浆 | 久久免费手机视频 | 狠狠插综合网 | h在线免费观看 | 91久久澡人人爽人人添 | 四虎影视最新地址 | a毛片成人免费全部播放 | 亚洲午夜小视频 | 天天色影综合网 | 欧美成人一区二区三区在线电影 | 免费视频在线播放 | 国产一区二卡三区四区 | 黄网站色视频免费看无下截 | 欧美另类亚洲一区二区 | 精品国产理论在线观看不卡 | freesex性欧美炮机喷潮 | 乱小说录目伦800 | 国产aaa级一级毛片 国产ar高清视频+视频 | 97久久天天综合色天天综合色 |