在后台运行的应用程序负责在典型的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[]) 。 |