7

我有这个代码:

wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP
            | PowerManager.ON_AFTER_RELEASE, "MyWakeLock");

并且FULL_WAKE_LOCK被划掉了,上面写着“PowerManger.FULL_WAKE_LOCK 已弃用”。代码正在运行。但这究竟是什么意思?它会引起任何问题吗?

4

4 回答 4

3

弃用意味着该功能可能会在未来的 Android 版本中被删除,或者添加了替代功能。它不会立即删除以确保向后兼容性并让您有时间遵守新标准。

也就是说,根据文档

“大多数应用程序应该使用 FLAG_KEEP_SCREEN_ON 而不是这种类型的唤醒锁,因为它会在用户在应用程序之间移动时由平台正确管理,并且不需要特殊权限。”

所以它现在不会造成任何问题,但在未来的 Android 版本中,它可能会。您可以在此处阅读有关弃用的更多信息。

于 2013-09-24T07:58:55.623 回答
2

您可以通过单击此处找到有关它的更多信息。它包含有关功能功能的所有详细信息。它不会对当前版本造成任何问题,但将来可能会。

于 2013-09-24T07:56:29.423 回答
0

PowerManager.FULL_WAKE_LOCK

此常量在 API 级别 17 中已弃用。大多数应用程序应使用 FLAG_KEEP_SCREEN_ON 而不是这种类型的唤醒锁,因为当用户在应用程序之间移动时它将由平台正确管理并且不需要特殊权限。

唤醒锁定级别:确保屏幕和键盘背光全亮。

如果用户按下电源按钮,那么 FULL_WAKE_LOCK 将被系统隐式释放,导致屏幕和 CPU 都关闭。与 PARTIAL_WAKE_LOCK 对比。

于 2013-09-24T07:57:32.713 回答
0

根据维基百科,

弃用的意思是“你仍然可以使用它,但不要指望它,因为我们可能会在未来的软件版本中用其他东西替换它(或完全删除它)。”

一般而言,这意味着有更好的方法可以做到这一点,并且应该避免使用已弃用的方法。此外,不推荐使用的方法也不向后兼容,并且很可能在未来的版本中被删除。

在开发者网站上明确提到

“使用此 API 将显着影响设备电池寿命。除非您确实需要,否则不要获取 PowerManager.WakeLocks,尽可能使用最低级别,并确保尽快释放它们。”

于 2013-09-24T08:01:10.167 回答