2011-01-26 184 views
4

我正在使用wl.acquire()設置喚醒鎖。這工作正常。只要我的應用程序存在,我就需要喚醒鎖,因此只有在應用程序離開時才能調用release()如何釋放喚醒鎖?

我需要撥打release()嗎?例如在onStop()?我會說不,但我不確定。

感謝,A

+2

我不知道此信息是否可以幫助您,但在每個視圖中都有一個名爲KeepScreenOn的屬性。因此,將其設置爲True將使您的應用程序始終醒來......我知道我沒有回答您的問題,但我認爲您可能需要知道。 – junmats 2011-01-26 09:01:14

回答

4

除了你已經收到的其他有用答案,我剛剛發現了這個有趣的答案,關於如何force screen on,也許你會發現它也很有用,如果你真的不需要喚醒鎖。

+0

鏈接非常有用。 :) – Mudassir 2012-07-06 09:06:37

4

,如果你是指自己將這些2頁:

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

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

你應該儘快就可以釋放喚醒鎖:因此如果你的應用正在關閉/暫停釋放它!

此外,建議的話,確保您需要一個喚醒鎖,當你需要它和很長時間。

在我的情況下,我把一個只用於遊戲屏幕,以避免用戶屏幕在思考時變黑(因爲它是一個opengl應用程序需要幾秒鐘完全加載),但在其他視圖中,我釋放它。

相信我,當我說它是一個用戶最終結束一個空電池,因爲一個應用程序迫使自己保持清醒的煩人。

0

只要我的應用程序生活 您的應用程序有多少活動?你可以在ActivityManager的彈出窗口的onDestroy()中釋放它。

是的,你必須釋放鎖,特別是如果你要保持屏幕亮度,以避免電池消耗。