5

我正在使用wl.acquire(). 这工作正常。只要我的应用程序存在,我就需要那个唤醒锁,所以release()只有在应用程序离开时才能进行调用。

我必须在release()某个地方打电话吗?例如在onStop()?我会说不,但我不确定。

4

3 回答 3

4

如果您参考以下两页:

http://developer.android.com/reference/android/os/PowerManager.html

http://developer.android.com/reference/android/os/PowerManager.WakeLock.html#release ()

您应该尽快释放唤醒锁:因此,如果您的应用程序正在关闭/暂停,请释放它!

另外,忠告,绝对确保你需要一个唤醒锁,当你需要它时,并且持续很长时间。

在我的情况下,我只为游戏中的屏幕放置一个,以避免用户在思考时屏幕变黑(因为它是一个 opengl 应用程序,完全加载需要几秒钟),但在其他视图中我释放它。

相信我,当我说用户因为应用程序强迫自己保持清醒而最终没电时很烦人。

于 2011-01-26T09:11:14.843 回答
3

除了您已经收到的其他有用答案之外,我刚刚发现了这个关于如何强制屏幕打开的有趣答案,如果您真的不需要唤醒锁,也许您会发现它也很有用。

于 2011-01-26T09:13:43.610 回答
0

只要我的应用程序存在,您的应用程序有多少活动?您可以在活动管理器弹出的最后一个活动的 onDestroy() 中释放它。

是的,您必须释放锁定,特别是如果您要保持屏幕亮度,以避免电池耗尽。

于 2011-01-26T09:12:41.350 回答