Added in API level 24

SystemHealthManager


public class SystemHealthManager
extends Object

java.lang.Object
   ↳ android.os.health.SystemHealthManager


Provides access to data about how various system resources are used by applications.

Summary

Public methods

void getPowerMonitorReadings(List<PowerMonitor> powerMonitors, Executor executor, OutcomeReceiver<PowerMonitorReadingsRuntimeException> onResult)

Asynchronously retrieves the accumulated power consumption reported by the specified power monitors.

void getSupportedPowerMonitors(Executor executor, Consumer<List<PowerMonitor>> onResult)

Asynchronously retrieves a list of supported PowerMonitor's, which include raw ODPM (on-device power rail monitor) rails and modeled energy consumers.

HealthStats takeMyUidSnapshot()

Return a HealthStats object containing a snapshot of system health metrics for the application calling this API.

HealthStats takeUidSnapshot(int uid)

Return a HealthStats object containing a snapshot of system health metrics for the given uid (user-id, which in usually corresponds to application).

HealthStats[] takeUidSnapshots(int[] uids)

Return a HealthStats object containing a snapshot of system health metrics for the given uids (user-id, which in usually corresponds to application).

Inherited methods

Public methods

getPowerMonitorReadings

Added in API level 35
public void getPowerMonitorReadings (List<PowerMonitor> powerMonitors, 
                Executor executor, 
                OutcomeReceiver<PowerMonitorReadingsRuntimeException> onResult)

Asynchronously retrieves the accumulated power consumption reported by the specified power monitors.

Parameters
powerMonitors List: power monitors to be retrieved. This value cannot be null.

executor Executor: optional Executor to deliver the callbacks. If not supplied, the callback may be invoked on an arbitrary thread. This value may be null.

onResult OutcomeReceiver: callback for the result This value cannot be null.

getSupportedPowerMonitors

Added in API level 35
public void getSupportedPowerMonitors (Executor executor, 
                Consumer<List<PowerMonitor>> onResult)

Asynchronously retrieves a list of supported PowerMonitor's, which include raw ODPM (on-device power rail monitor) rails and modeled energy consumers. If ODPM is unsupported on this device this method delivers an empty list.

Parameters
executor Executor: optional Handler to deliver the callback. If not supplied, the callback may be invoked on an arbitrary thread. This value may be null.

onResult Consumer: callback for the result This value cannot be null.

takeMyUidSnapshot

Added in API level 24
public HealthStats takeMyUidSnapshot ()

Return a HealthStats object containing a snapshot of system health metrics for the application calling this API. This method is the same as calling takeUidSnapshot(Process.myUid()).

Returns
HealthStats A HealthStats object containing the metrics for this application. The keys for this HealthStats object will be from the UidHealthStats class.

takeUidSnapshot

Added in API level 24
public HealthStats takeUidSnapshot (int uid)

Return a HealthStats object containing a snapshot of system health metrics for the given uid (user-id, which in usually corresponds to application).

Parameters
uid int: User ID for a given application.

Returns
HealthStats A HealthStats object containing the metrics for the requested application. The keys for this HealthStats object will be from the UidHealthStats class.

See also:

takeUidSnapshots

Added in API level 24
public HealthStats[] takeUidSnapshots (int[] uids)

Return a HealthStats object containing a snapshot of system health metrics for the given uids (user-id, which in usually corresponds to application).

Parameters
uids int: An array of User IDs to retrieve.

Returns
HealthStats[] An array of HealthStats objects containing the metrics for each of the requested uids. The keys for this HealthStats object will be from the UidHealthStats class.