public class HealthStats
extends Object
java.lang.Object | |
↳ | android.os.health.HealthStats |
HealthStats对象包含有关应用程序的系统健康数据。
数据类型
每个键都以五种数据类型之一引用数据:
度量指标包含一个sinlge long
值。 该值可能是计数,时间或其他类型的值。 测量单位(COUNT,MS等)将始终以关键字的常数名称检索。 例如, UidHealthStats.MEASUREMENT_WIFI_TX_MS
值是应用程序在wifi上传输的毫秒数(毫秒)。 UidHealthStats.MEASUREMENT_MOBILE_RX_PACKETS
量值是代表应用程序接收的数据包数量。 UidHealthStats.MEASUREMENT_TOUCH_USER_ACTIVITY_COUNT
量值是用户触摸屏幕的次数,导致屏幕保持清醒状态。
计时器度量包含int
计数和long
时间(以毫秒为单位)。 定时器跟踪资源使用的次数以及该使用的总持续时间。 例如, TIMER_FLASHLIGHT
定时器跟踪应用程序打开手电筒的次数,以及总共多少毫秒的时间。
测量地图度量标准是String
名称到Long
值的映射。 名称通常是应用程序提供的名称。 例如, PackageHealthStats.MEASUREMENTS_WAKEUP_ALARMS_COUNT
测量图是安排警报时提供给AlarmManager
的标记的映射。
计时器映射度量标准是String
名称到TimerStat
对象的映射。 名称通常是应用程序提供的名称。 例如, UidHealthStats.TIMERS_WAKELOCKS_PARTIAL
是设置到标记的映射PowerManager
当激活锁定被创建来的次数以及每个激活锁定多久是活跃的。
最后, 健康状态度量标准是将String
名称映射到包含更详细信息的递归HealthStats
对象。 例如, UidHealthStats.STATS_PACKAGES
度量标准是将每个共享一个uid的APK的包名称映射到为该apk记录的信息。 返回的HealthStats对象将分别与一组不同的常量关联。 对于为UidHealthStats.STATS_PACKAGES返回的HealthStats,密钥来自PackageHealthStats
类。
可用的密钥可能会更改,具体取决于特定设备或软件版本能够记录的内容。 应用程序必须处理没有数据而不会崩溃的情况。
Public methods |
|
---|---|
String |
getDataType() 获取表示此对象内容的名称。 |
long |
getMeasurement(int key) 获取给定键的度量。 |
int |
getMeasurementKeyAt(int index) 在给定索引处获取测量的关键。 |
int |
getMeasurementKeyCount() 获取此对象中的测量值数量。 |
Map<String, Long> |
getMeasurements(int key) 获取给定密钥的测量图。 |
int |
getMeasurementsKeyAt(int index) 在给定索引处获取测量图的关键字。 |
int |
getMeasurementsKeyCount() 获取此对象中测量映射值的数量。 |
Map<String, HealthStats> |
getStats(int key) 获取给定密钥的HealthStats映射。 |
int |
getStatsKeyAt(int index) 获取给定索引处计时器的密钥。 |
int |
getStatsKeyCount() 获取此对象中HealthStat映射值的数量。 |
TimerStat |
getTimer(int key) 返回给定键的TimerStat对象。 |
int |
getTimerCount(int key) 获取给定键的计时器的计数。 |
int |
getTimerKeyAt(int index) 获取给定索引处计时器的密钥。 |
int |
getTimerKeyCount() 获取此对象中计时器值的数量。 |
long |
getTimerTime(int key) 获取给定键的计时器的时间,以毫秒为单位。 |
Map<String, TimerStat> |
getTimers(int key) 获取给定密钥的TimerStat映射。 |
int |
getTimersKeyAt(int index) 获取给定索引处的计时器映射关键字。 |
int |
getTimersKeyCount() 获取此对象中定时器映射值的数量。 |
boolean |
hasMeasurement(int key) 返回此对象是否包含所提供的键的度量值。 |
boolean |
hasMeasurements(int key) 返回此对象是否包含所提供键的测量图。 |
boolean |
hasStats(int key) 返回此对象是否包含所提供密钥的HealthStats映射。 |
boolean |
hasTimer(int key) 返回此对象是否包含所提供密钥的TimerStat。 |
boolean |
hasTimers(int key) 返回此对象是否包含所提供密钥的计时器映射。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
long getMeasurement (int key)
获取给定键的度量。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
long |
Throws | |
---|---|
IndexOutOfBoundsException |
When the key is not present in this object. |
int getMeasurementKeyAt (int index)
在给定索引处获取测量的关键。 索引必须介于0和getMeasurementKeyCount()
的结果之间。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
int |
也可以看看:
int getMeasurementKeyCount ()
获取此对象中的测量值数量。 可用于遍历可用的度量。
Returns | |
---|---|
int |
也可以看看:
Map<String, Long> getMeasurements (int key)
获取给定密钥的测量图。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
Map<String, Long> |
Throws | |
---|---|
IndexOutOfBoundsException |
When the key is not present in this object. |
int getMeasurementsKeyAt (int index)
在给定索引处获取测量图的关键字。 索引必须介于0和getMeasurementsKeyCount()
的结果之间。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
int |
也可以看看:
int getMeasurementsKeyCount ()
获取此对象中测量映射值的数量。 可用于遍历可用的测量图。
Returns | |
---|---|
int |
也可以看看:
Map<String, HealthStats> getStats (int key)
获取给定密钥的HealthStats映射。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
Map<String, HealthStats> |
Throws | |
---|---|
IndexOutOfBoundsException |
When the key is not present in this object. |
int getStatsKeyAt (int index)
获取给定索引处计时器的密钥。 索引必须介于0和getStatsKeyCount()
的结果之间。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
int |
也可以看看:
int getStatsKeyCount ()
获取此对象中HealthStat映射值的数量。 可用于遍历可用的度量。
Returns | |
---|---|
int |
也可以看看:
TimerStat getTimer (int key)
返回给定键的TimerStat对象。 这将分配一个新的TimerStat
对象,这可能是浪费。 请改用getTimerCount(int)
和getTimerTime(int)
。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
TimerStat |
Throws | |
---|---|
IndexOutOfBoundsException |
When the key is not present in this object. |
int getTimerCount (int key)
获取给定键的计时器的计数。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
int |
Throws | |
---|---|
IndexOutOfBoundsException |
When the key is not present in this object. |
int getTimerKeyAt (int index)
获取给定索引处计时器的密钥。 索引必须介于0和getTimerKeyCount()
的结果之间。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
int |
也可以看看:
int getTimerKeyCount ()
获取此对象中计时器值的数量。 可用于遍历可用的定时器。
Returns | |
---|---|
int |
也可以看看:
long getTimerTime (int key)
获取给定键的计时器的时间,以毫秒为单位。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
long |
Throws | |
---|---|
IndexOutOfBoundsException |
When the key is not present in this object. |
Map<String, TimerStat> getTimers (int key)
获取给定密钥的TimerStat映射。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
Map<String, TimerStat> |
Throws | |
---|---|
IndexOutOfBoundsException |
When the key is not present in this object. |
int getTimersKeyAt (int index)
获取给定索引处的计时器映射关键字。 索引必须介于0和getTimersKeyCount()
的结果之间。
Parameters | |
---|---|
index |
int
|
Returns | |
---|---|
int |
也可以看看:
int getTimersKeyCount ()
获取此对象中定时器映射值的数量。 可用于遍历可用的计时器映射。
Returns | |
---|---|
int |
也可以看看:
boolean hasMeasurement (int key)
返回此对象是否包含所提供的键的度量值。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
boolean |
boolean hasMeasurements (int key)
返回此对象是否包含所提供键的测量图。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
boolean |
boolean hasStats (int key)
返回此对象是否包含所提供密钥的HealthStats映射。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
boolean |
boolean hasTimer (int key)
返回此对象是否包含所提供密钥的TimerStat。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
boolean |
boolean hasTimers (int key)
返回此对象是否包含所提供密钥的计时器映射。
Parameters | |
---|---|
key |
int
|
Returns | |
---|---|
boolean |