我正在使用wl.acquire()
设置唤醒锁定。这很好用。只要我的应用程序存在,我就需要唤醒锁定,所以只有在离开应用程序时才能调用release()
。
我必须在某个地方拨打release()
吗?例如在onStop()
?我会说不,但我不确定。
答案 0 :(得分:4)
如果您自己参考这两页:
http://developer.android.com/reference/android/os/PowerManager.html
http://developer.android.com/reference/android/os/PowerManager.WakeLock.html#release()
您应该尽快释放唤醒锁定:因此,如果您的应用正在关闭/暂停,请释放它!
另外,建议的话,确保你需要一个唤醒锁,当你需要它时,并且很长时间。
在我的情况下,我只在游戏画面中放置一个,以避免用户屏幕在思考时变黑(因为它是一个opengl应用程序需要几秒钟才能完全加载),但在其他视图中我将其释放。
当我说用户最后因为一个应用程序强迫自己保持清醒而感到烦恼时,请相信我。
答案 1 :(得分:4)
除了你已经收到的其他有用的答案之外,我刚刚找到了关于如何force screen on这个有趣的答案,如果你真的不需要唤醒锁定,也许你会发现它也很有用。
答案 2 :(得分:0)
只要我的申请存在 你的申请有多少活动?你可以在活动管理器弹出的最后一个活动的onDestroy()中释放它。
是的,你必须释放锁定,特别是如果要保持屏幕亮度,以避免电池耗尽。