“PowerManger.FULL_WAKE_LOCK被弃用”是什么意思?

时间:2013-09-24 07:52:18

标签: android wakelock powermanager

我有这段代码:

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

并且FULL_WAKE_LOCK被划掉了,它说“PowerManger.FULL_WAKE_LOCK已被弃用”。代码正在运行。但究竟是什么意思呢?它可以引起任何问题吗?

4 个答案:

答案 0 :(得分:4)

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

根据the documentation

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

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

答案 1 :(得分:2)

点击here可以找到有关它的更多信息。它具有关于功能的详细信息。它不会对当前版本造成任何问题,但将来可能会出现问题。

答案 2 :(得分:1)

<强> PowerManager.FULL_WAKE_LOCK

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

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

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

答案 3 :(得分:0)

根据维基百科,

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

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

在开发者网站上明确提到

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