2010-12-13 88 views
0

任何人都可以解释什么PowerManager.Wakelock的这种方法是什么?Wakelock参考计数

setReferenceCounted

“唤醒锁参考默认计数”。 - 为什么?

+0

在这方面存在一个错误...希望你不是唯一一个提出这个问题的人http://code.google.com/p/android/issues/detail?id=5958 – DeRagan 2010-12-13 11:16:41

+0

好的。所以对于你在锁上做的每一个发布,你必须先获得它才能获得任何例外。我可以忍受那个:)谢谢你的建议。 – cody 2010-12-13 13:08:17

回答

6

因为在很多情况下它们被引用计数真的很方便。以为例。我需要安排服务,让设备保持足够长的时间以完成任何工作,但一旦工作完成,设备就可以重新入睡。最简单的方法是使用引用计数的WakeLock,所以我们在每项工作中碰撞引用计数,并在工作完成时减少引用计数。当参考计数达到零时,Android会释放WakeLock,设备可以重新入睡。

可能很多情况下,非参考计数WakeLock将是有用的,虽然我没有准备好的例子。

+0

这回答了我的问题。谢谢! – cody 2010-12-13 13:02:50

+0

我们如何增加/减少参考计数值? – 2015-04-22 12:59:04

+0

@PareshMayani:当你获得()它时递增,当你释放它时递减。 – CommonsWare 2015-04-22 22:38:05