PerformanceHintManager


public final class PerformanceHintManager
extends Object

java.lang.Object
   ↳ android.os.PerformanceHintManager


The PerformanceHintManager allows apps to send performance hint to system.

Nested classes

class PerformanceHintManager.Session

A Session represents a group of threads with an inter-related workload such that hints for their performance should be considered as a unit. 

Public methods

PerformanceHintManager.Session createHintSession(int[] tids, long initialTargetWorkDurationNanos)

Creates a Session for the given set of threads and sets their initial target work duration.

long getPreferredUpdateRateNanos()

Get preferred update rate information for this device.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public methods

createHintSession

Added in API level 31
public PerformanceHintManager.Session createHintSession (int[] tids, 
                long initialTargetWorkDurationNanos)

Creates a Session for the given set of threads and sets their initial target work duration.

Parameters
tids int: The list of threads to be associated with this session. They must be part of this process' thread group This value cannot be null.

initialTargetWorkDurationNanos long: The desired duration in nanoseconds for the new session

Returns
PerformanceHintManager.Session the new session if it is supported on this device, null if hint session is not supported on this device or the tid doesn't belong to the application

Throws
IllegalArgumentException if the thread id list is empty, or initialTargetWorkDurationNanos is non-positive

getPreferredUpdateRateNanos

Added in API level 31
public long getPreferredUpdateRateNanos ()

Get preferred update rate information for this device.

Returns
long the preferred update rate supported by device software