CpuHeadroomParams.Builder


public static final class CpuHeadroomParams.Builder
extends Object

java.lang.Object
   ↳ android.os.CpuHeadroomParams.Builder


Summary

Public constructors

Builder()
Builder(CpuHeadroomParams params)

Returns a new builder copy with the same values as the params.

Public methods

CpuHeadroomParams build()

Builds the CpuHeadroomParams object.

CpuHeadroomParams.Builder setCalculationType(int calculationType)

Sets the headroom calculation type.

CpuHeadroomParams.Builder setCalculationWindowMillis(int windowMillis)

Sets the headroom calculation window size in milliseconds.

CpuHeadroomParams.Builder setTids(int... tids)

Sets the thread TIDs to track.

Inherited methods

Public constructors

Builder

public Builder ()

Builder

public Builder (CpuHeadroomParams params)

Returns a new builder copy with the same values as the params.

Parameters
params CpuHeadroomParams: This value cannot be null.

Public methods

build

public CpuHeadroomParams build ()

Builds the CpuHeadroomParams object.

Returns
CpuHeadroomParams This value cannot be null.

setCalculationType

public CpuHeadroomParams.Builder setCalculationType (int calculationType)

Sets the headroom calculation type.

Parameters
calculationType int: Value is CpuHeadroomParams.CPU_HEADROOM_CALCULATION_TYPE_MIN, or CpuHeadroomParams.CPU_HEADROOM_CALCULATION_TYPE_AVERAGE

Returns
CpuHeadroomParams.Builder This value cannot be null.

Throws
IllegalArgumentException if the type is invalid.

setCalculationWindowMillis

public CpuHeadroomParams.Builder setCalculationWindowMillis (int windowMillis)

Sets the headroom calculation window size in milliseconds.

Parameters
windowMillis int: the window size in milliseconds ranges from SystemHealthManager.getCpuHeadroomCalculationWindowRange(). The smaller the window size, the larger fluctuation in the headroom value should be expected. The default value can be retrieved from the CpuHeadroomParams.getCalculationWindowMillis. The device will try to use the closest feasible window size to this param. Value is 1 or greater

Returns
CpuHeadroomParams.Builder This value cannot be null.

Throws
IllegalArgumentException if the window is invalid.

setTids

public CpuHeadroomParams.Builder setTids (int... tids)

Sets the thread TIDs to track.

The TIDs should belong to the same of the process that will make the headroom call. And they should not have different core affinity.

If not set or set to empty, the headroom will be based on the PID of the process making the call.

Parameters
tids int: non-null list of TIDs, where maximum size can be read from SystemHealthManager.getMaxCpuHeadroomTidsSize().

Returns
CpuHeadroomParams.Builder This value cannot be null.

Throws
IllegalArgumentException if the TID is not positive.