我同意,这个“自适应电池”听起来令人担忧。这个名为Android P的新版本Android“将AI置于操作系统的核心,专注于智能和简单的体验”。 (1) 在开发者的博客上,他们引用了这样的话:“对于开发者来说,Android P 测试版提供了一系列利用这些新智能的方法,尤其是在增加与您的应用程序的参与度方面。” (1) 很明显,虽然他们正在努力为公众打造更好的操作系统,但他们并没有忘记他们的开发人员。
与 Android P 最相关的两件事是自适应电池和背景限制更改。我将尽我所能回答您的五个问题,但当然,由于 Android P 处于测试阶段,还没有解决所有问题。
1.究竟什么是“自适应电池”?
“在 Android P 中,我们与 DeepMind 合作开发了一项称为自适应电池的新功能,该功能可优化应用程序使用电池的方式”(1)。 Android 使用 DeepMind 的目的是将应用程序分类到不同的“应用程序备用存储桶”中,这些存储桶的范围从“活跃”到“稀有”。根据应用程序放入哪个备用存储桶,它将改变对警报、作业、网络和高优先级 Firebase Cloud 消息的限制。
这些存储桶是: 活动 - 表示当前正在使用该应用。工作集——意味着该应用程序处于正常使用状态。频繁 - 意味着该应用程序经常使用,但并非每天都使用。稀有 - 意味着该应用程序不经常使用。显然,这些桶并不明确,因为它们依赖于 Android P 正在实施的 DeepMind AI。请关注this link,以更好地解释存储桶是什么以及如何使用它们。此外,this link 是电源管理限制的附录,它也将阐明自适应电池。
他们还说:“如果您的应用针对打盹、应用待机和后台限制进行了优化,那么开箱即用的自适应电池应该可以很好地为您工作。我们建议在四个存储桶中的每一个中测试您的应用程序。”
2。启用时开发者应该担心吗?
如果开发人员不为此做计划,他们似乎可能会有一些担忧。查看我上面链接的电源管理附录,最大的变化是作业和警报延迟多长时间。但是,看起来如果您强制工作或发出警报,它们就会触发。
我认为,对于开发人员而言,明智的做法是听取他们针对打盹、应用待机和后台限制优化应用程序的警告。如果这不是您想要的路线,我强烈建议您至少确保在四个存储桶中的每一个中测试您的应用程序。
3.哪些应用组件可能会受到影响?
由于 Android P 仍处于测试阶段,这些可能会发生变化。目前,唯一会受到影响的应用程序组件是:作业、警报、网络和 Firebase 云消息传递。根据 DeepMind 决定它们应该在的备用存储桶,这些都会受到不同的影响。
另一个注意事项,我提到了背景限制,并打算在这里详细说明,因为它在限制功率的意义上类似于自适应电池。后台限制指出在后台一直在使用电池的应用程序,并允许用户对其进行限制。 “当一个应用程序受到限制时,它的后台作业、警报、服务和网络访问都会受到影响。”因此,如果用户认为您的应用程序占用了太多资源,您将受到限制,这似乎就像被放入低优先级的备用存储桶中一样。不过,Android P API 中有一些方法可以检查您的应用是否受到限制,这对开发人员很有帮助。
4.如果确实会影响应用的性质,是否有任何 API 可以检查它是否已启用并采取相应措施?
是的,API 中有一些调用可以告诉您您在哪个存储桶中,以及您的应用程序是否像我之前所说的那样受到限制。例如,您可以通过调用:UsageStatsManager.getAppStandbyBucket()
找出您的应用程序当前所在的存储桶
此外,还有很多很好的方法可以使用每个存储桶中的 Android Debug Bridge 来测试您的应用程序。只需关注this link。
5.它与其他省电机制相比如何?
据我所知,这种桶式电池节省方式以前从未实施过。这是一种全新的体验。但是,我知道从 Android Oreo 开始就可以使用后台限制,用户可以在其中看到哪些应用正在执行。但是,在 Oreo 中,用户只能看到哪些应用正在吸电,而无法设置限制。
我发现了一个有趣的例子here:“比如说,假设你真的只在晚上看 Instagram。在这种情况下,自适应电池将学习这种行为,并在白天让应用程序处于睡眠模式,然后在您最有可能使用它时将其唤醒。”这是他们为 Android P 提供的一个示例,说明 DeepMind 将如何将应用程序放入这些备用存储桶中。
总的来说,我认为这对于一直受到电池问题困扰的 Android 来说是一个很好的步骤。只要开发人员没有向他们的用户发送唤醒锁、通知或其他不必要的东西,这真的不会对他们的应用程序产生太大影响。然而,这确实使得开发人员不得不投入更多的工作,比如检查他们在哪个桶中并采取相应的行动。时间会证明这对 Android 来说是否是一个好的步骤。
链接
- (1) - https://android-developers.googleblog.com/2018/05/whats-new-in-android-p-beta.html#androidbeta
- (2) - https://developer.android.com/preview/features/power#buckets
- (3) - https://developer.android.com/preview/features/power-details
- (4) - https://www.howtogeek.com/352364/how-android-p-will-increase-battery-life/