在后台运行的应用程序负责在典型的Android设备上大量使用电池。 应用程序可以通过几件事来减少其影响。 例如,通过使用JobScheduler
,应用程序不需要独立监视网络是否可用,设备是否插入等。除了使用更简单之外,应用程序的服务仅在满足所需条件时才会启动满足。 但即使使用适当的帮助器API,应用程序仍然可以减少其占用空间。 该软件包提供了有关应用程序运行时幕后操作的更多信息。
应用程序数据通过哪个用户标识(uid)正在使用特定资源进行跟踪。 可以使用SystemHealth.takeMyUidSnapshot()
方法获取应用程序测量的快照。 返回的HealthStats
对象包含统计信息。
健
为了有效返回, HealthStats
类使用一组int键来标识返回的数据。 该UidHealthStats
, PidHealthStats
, PackageHealthStats
, ProcessHealthStats
,并ServiceHealthStats
类提供的常量。 每个HealthStats
对象HealthStats
与这些类中的一个相关联。 从SystemHealth.takeMyUidSnapshot()
返回的对象将使用UidHealthStats
密钥,因为它包含该uid可用的所有数据。
HealthStats | HealthStats对象包含有关应用程序的系统健康数据。 |
PackageHealthStats | 钥匙 HealthStats 从返回 HealthStats.getStats(int) 与 UidHealthStats.STATS_PACKAGES 关键。 |
PidHealthStats | 钥匙 HealthStats 从返回 HealthStats.getStats(int) 与 UidHealthStats.STATS_PIDS 关键。 |
ProcessHealthStats | 钥匙 HealthStats 从返回 HealthStats.getStats(int) 与 UidHealthStats.STATS_PROCESSES 关键。 |
ServiceHealthStats | 钥匙 HealthStats 从返回 HealthStats.getStats(int) 与 PackageHealthStats.STATS_SERVICES 关键。 |
SystemHealthManager | 提供有关应用程序如何使用各种系统资源的数据的访问权限。 |
TimerStat | TimerStat对象存储计数和时间。 |
UidHealthStats | 钥匙 HealthStats 从返回 SystemHealthManager.takeUidSnapshot(int) , SystemHealthManager.takeMyUidSnapshot() ,并 SystemHealthManager.takeUidSnapshots(int[]) 。 |