使用下列檢測引數設定 Microbenchmark 的行為。您可以將這些引數新增至 Gradle 設定,或是在透過指令列執行檢測時直接套用。如要為所有 Android Studio 和指令列測試執行作業設定這些引數,請將引數新增至 testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
透過 Android Studio 執行基準測試時,也可以設定檢測引數。如要變更引數,請執行下列操作:
- 按一下「Edit」選取要編輯的設定,即可編輯執行設定。
- 如要編輯檢測引數,請按一下「Instrumentation arguments」欄位旁邊的 。
- 按一下 ,新增必要的檢測引數。
如果您要透過指令列執行基準測試,請使用 -P
android.testInstrumentationRunnerArguments.[name of the argument]
:
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.profiling.mode=StackSampling
如果您要直接叫用 am 檢測指令 (在 CI 測試環境中可能會發生這種情況),請使用 -e
將引數傳遞至 am instrument
:
adb shell am instrument -e androidx.benchmark.profiling.mode StackSampling -w com.example.macrobenchmark/androidx.benchmark.junit4.AndroidBenchmarkRunner
如要進一步瞭解如何在 CI 中設定基準測試,請參閱「在 CI 中執行基準測試」一文。
additionalTestOutputDir
設定 JSON 基準報告和剖析結果儲存在裝置上的位置。
- 引數類型:檔案路徑字串
- 預設為:測試 APK 的外部目錄
androidx.benchmark.dryRunMode.enable
在單一迴圈中執行基準測試,確認測試可正常運作。
因此:
- 不會強制執行設定錯誤 (例如,讓模擬器更容易執行定期正確性測試)
- 基準測試只會執行單一迴圈,且不暖機
- 為了縮短執行時間,系統不會擷取測量資料和追蹤記錄
這可針對測試處理量進行最佳化,並驗證基準測試邏輯,確保建構和測量正確性。
- 引數類型:布林值
- 預設為:
false
androidx.benchmark.iterations
覆寫以時間為準的目標疊代次數,確保工作量穩定一致。這種做法通常只適合已啟用剖析功能的情況,確保在比較不同實作項目/執行作業時,剖析追蹤記錄中執行的工作量皆一致。在其他情況下,這種做法可能會降低測量的準確度或穩定性。
- 引數類型:整數
- 預設為:未指定
androidx.benchmark.junit4.SideEffectRunListener
在基準測試執行期間,如果您執行不相關的背景工作,可能會取得不一致的基準測試結果。
如要在基準測試期間停用背景工作,請將 listener
檢測引數類型設為 androidx.benchmark.junit4.SideEffectRunListener
。
- 引數類型:字串
- 可用選項:
androidx.benchmark.junit4.SideEffectRunListener
- 預設為:未指定
androidx.benchmark.output.enable
可將結果 JSON 檔案寫入外部儲存空間。
- 引數類型:布林值
- 預設為:
true
androidx.benchmark.profiling.mode
允許在執行基準測試時擷取追蹤記錄檔案。請參閱「剖析 Microbenchmark」,瞭解可用選項。
- 引數類型:字串
- 可用選項:
MethodTracing
StackSampling
None
- 預設為:
None
androidx.benchmark.suppressErrors
接受以半形逗號分隔的錯誤清單,並轉換成警告。
- 引數類型:字串清單
- 可用選項:
DEBUGGABLE
LOW-BATTERY
EMULATOR
CODE-COVERAGE
UNLOCKED
SIMPLEPERF
ACTIVITY-MISSING
- 預設為:空白清單
androidx.benchmark.startupMode.enable (已淘汰)
重新設定迴圈行為,在啟動期間支援基準測試程式碼。在沒有暖機迴圈的情況下,系統會針對 10 次測量執行基準測試。為盡量減少 Microbenchmark 超載,迴圈平均功能已停用。
- 引數類型:布林值
- 預設為:
false
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- Macrobenchmark 檢測引數
- 剖析 Microbenchmark
- 建立基準設定檔 {:#create-profile-rules}