Android 手機都會自己休眠,但是一些大陸來的程式,常常不太愛讓手機睡著,什麼騰訊視頻啦,Sogo地圖啦,DD打車啦,都是有名的吃電怪獸。為什麼手機都不能休眠呢?因為程式設計者會用一個叫Wakelock的程序,主要目的是叫醒電話,在背景下執行些東西,有關Wakelock的解說如下
在Android app or framework, 如果不想讓系統進入suspend(休眠)狀態的話,
就必須取得wakelock(喚醒鎖), 並且要小心管理wakelock, 一旦沒有釋放wakelock的話系統就會處在無法suspend的狀態, 大大的增加耗電的速度!
就必須取得wakelock(喚醒鎖), 並且要小心管理wakelock, 一旦沒有釋放wakelock的話系統就會處在無法suspend的狀態, 大大的增加耗電的速度!
Android SDK官網也有特別強調:
Device battery life will be significantly affected by the use of this API. Do not acquire PowerManager.WakeLocks unless you really need them, use the minimum levels possible, and be sure to release them as soon as possible.
意思就是沒事不要亂取wakelock,取了也盡量用最小level的wakelock,並且盡快釋放wakelock.
以上來自 https://ithelp.ithome.com.tw/articles/10156966
那怎麼看到底有哪些程式在背後
那接下來讓我們來看一下如何可以不用root就讓Wakelock Detector工作。
Step 1:
下載 minimal adb fastboot drivers:
安裝完之後直接Launch, 會跑出command window, 預設的位置是在:
C:\Program Files (x86)\Minimal ADB and Fastboot>
C:\Program Files (x86)\Minimal ADB and Fastboot>
這個目錄裡應該有adb.exe等除錯用的工具軟體
Step 2:
確定手機已經由USB連接上電腦, 而且"設定->開發人員選項->USB偵錯"有勾選
開發人員選項開啟通常是在手機版本的選項連按10下,就可以獲得。
開發人員選項開啟通常是在手機版本的選項連按10下,就可以獲得。
這時手機上可能會跳出視窗, 詢問要不要讓這台電腦執行USB偵錯, 請回答yes確認.
Step 3:
在PC端的command window裡打以下指令
切到 minimal ADB tools的目錄下
1. "adb kill-server"
2. "adb start-server"
3. "adb devices"
此時會出現: List of devices, 而且會秀出你由USB port連接上的手機序號
手機序號之後不能是"offline", 應該要出現"device"
Step 4:
在Chrome 下打開插件 unlock Wakelock,此時應該可以作動作了,下圖是沒有發現手機的情況,Step 3的動作要確實。選Grant, 應該會看到成功的文字訊息。
此step部份來自
https://www.ptt.cc/bbs/Android/M.1404875115.A.3AE.html
那有問題的程式該怎麼辦?砍掉?很不方便吧…不能一直下載移除吧…
來…請服用,"綠色守護",可以用它,把有問題的程式都綠色化,這軟體會強迫不該常駐的程式停用,很方便吧。
那你有電池不給力的問題嗎?現在就去試試吧!