The Android Developer Challenge is back! Submit your idea before December 2.

Scope

inner class Scope
kotlin.Any
   ↳ androidx.benchmark.junit4.BenchmarkRule.Scope

Handle used for controlling timing during measureRepeated.

Summary

Public methods

T
runWithTimingDisabled(block: () -> T)

Disable timing for a block of code.

Public methods

runWithTimingDisabled

inline fun <T> runWithTimingDisabled(block: () -> T): T

Disable timing for a block of code.

Used for disabling timing for work that isn't part of the benchmark:

  • When constructing per-loop randomized inputs for operations with caching,
  • Controlling which parts of multi-stage work are measured (e.g. View measure/layout)
  • Disabling timing during per-loop verification

@Test
fun bitmapProcessing() = benchmarkRule.measureRepeated {
    val input: Bitmap = runWithTimingDisabled { constructTestBitmap() }
    processBitmap(input)
}