public
final
class
PerformanceHintManager
extends Object
The PerformanceHintManager allows apps to send performance hint to system.
Summary
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.
|
Inherited methods |
From class
java.lang.Object
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
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 |
getPreferredUpdateRateNanos
public long getPreferredUpdateRateNanos ()
Get preferred update rate information for this device.
Returns |
long |
the preferred update rate supported by device software |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# PerformanceHintManager\n\nAdded in [API level 31](/guide/topics/manifest/uses-sdk-element#ApiLevels) \nSummary: [Nested Classes](#nestedclasses) \\| [Methods](#pubmethods) \\| [Inherited Methods](#inhmethods) \n\nPerformanceHintManager\n======================\n\n*** ** * ** ***\n\n[Kotlin](/reference/kotlin/android/os/PerformanceHintManager \"View this page in Kotlin\") \\|Java\n\n\n`\npublic\n\nfinal\n\nclass\nPerformanceHintManager\n`\n\n\n`\n\nextends `[Object](/reference/java/lang/Object)`\n\n\n`\n\n`\n\n\n`\n\n|---|-----------------------------------|\n| [java.lang.Object](/reference/java/lang/Object) ||\n| ↳ | android.os.PerformanceHintManager |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nThe PerformanceHintManager allows apps to send performance hint to system.\n\nSummary\n-------\n\n| ### Nested classes ||\n|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` class` | [PerformanceHintManager.Session](/reference/android/os/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. |\n\n| ### Public methods ||\n|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` `[PerformanceHintManager.Session](/reference/android/os/PerformanceHintManager.Session) | ` `[createHintSession](/reference/android/os/PerformanceHintManager#createHintSession(int[],%20long))`(int[] tids, long initialTargetWorkDurationNanos) ` Creates a [Session](/reference/android/os/PerformanceHintManager.Session) for the given set of threads and sets their initial target work duration. |\n| ` long` | ` `[getPreferredUpdateRateNanos](/reference/android/os/PerformanceHintManager#getPreferredUpdateRateNanos())`() ` Get preferred update rate information for this device. |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From class ` `[java.lang.Object](/reference/java/lang/Object)` ` |---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](/reference/java/lang/Object) | ` `[clone](/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object. | | ` boolean` | ` `[equals](/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](/reference/java/lang/Object)` obj) ` Indicates whether some other object is \"equal to\" this one. | | ` void` | ` `[finalize](/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final `[Class](/reference/java/lang/Class)`\u003c?\u003e` | ` `[getClass](/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this `Object`. | | ` int` | ` `[hashCode](/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object. | | ` final void` | ` `[notify](/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` `[notifyAll](/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor. | | ` `[String](/reference/java/lang/String) | ` `[toString](/reference/java/lang/Object#toString())`() ` Returns a string representation of the object. | | ` final void` | ` `[wait](/reference/java/lang/Object#wait(long,%20int))`(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](/reference/java/lang/Object#wait(long))`(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](/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||\n\nPublic methods\n--------------\n\n### createHintSession\n\nAdded in [API level 31](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\n```\npublic PerformanceHintManager.Session createHintSession (int[] tids, \n long initialTargetWorkDurationNanos)\n```\n\nCreates a [Session](/reference/android/os/PerformanceHintManager.Session) for the given set of threads and sets their initial target work\nduration.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|\n| `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`. \u003cbr /\u003e |\n| `initialTargetWorkDurationNanos` | `long`: The desired duration in nanoseconds for the new session \u003cbr /\u003e |\n\n| Returns ||\n|----------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [PerformanceHintManager.Session](/reference/android/os/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 \u003cbr /\u003e |\n\n| Throws ||\n|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------|\n| [IllegalArgumentException](/reference/java/lang/IllegalArgumentException) | if the thread id list is empty, or initialTargetWorkDurationNanos is non-positive |\n\n### getPreferredUpdateRateNanos\n\nAdded in [API level 31](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\n```\npublic long getPreferredUpdateRateNanos ()\n```\n\nGet preferred update rate information for this device.\n\n\u003cbr /\u003e\n\n| Returns ||\n|--------|---------------------------------------------------------------|\n| `long` | the preferred update rate supported by device software \u003cbr /\u003e |"]]