耗電量一直是Android設(shè)備的痛處,由于系統(tǒng)原理問題,一直處理的不夠好,大多數(shù)設(shè)備只能適度的使用一天,如果不充電你很少可以連續(xù)使用兩天,而Android L版本將通過Vola計劃對這個問題作出一些改進,它通過改善第三方程序的工作序列來降低程序的耗電量。
過去,如果開發(fā)人員想通過后臺調(diào)取服務(wù)器數(shù)據(jù),或完成某些處理工作,應(yīng)用程序必須先監(jiān)聽是否有事件正在發(fā)生,并為自己設(shè)定一個喚醒時間,一旦應(yīng)用程序開始運行,他需要檢查各種環(huán)境條件,以確定是否具備條件讓它完成工作,還是需要稍后再試,這種方式不僅復(fù)雜,而且容易出錯,它會不斷的浪費資源,比如當一個應(yīng)用程序被喚醒后,發(fā)現(xiàn)條件不符合就只能去睡覺并為下次喚醒再次設(shè)定時間,這是一個反復(fù)的過程。
這個問題,將引用JobScheduler來修復(fù),它作為一個調(diào)度應(yīng)用程序,負責當應(yīng)用程序被喚醒時,提供適當?shù)倪\行環(huán)境,所以開發(fā)者不用再讓程序檢測環(huán)境是否符合需求,開發(fā)人員只需要按照標準的流程來,調(diào)度程序會自動為喚醒的程序,準備好運行環(huán)境。
應(yīng)用程序可以使用這個調(diào)度程序,來喚醒他們,比如當設(shè)備連接到充電器后,調(diào)度程序?qū)拘涯切┬枰幚砥鞴ぷ鞯某绦颍屗麄冞M行工作,或者在設(shè)備連接至WiFi網(wǎng)絡(luò)的時候上傳下載照片,更新內(nèi)容等。該調(diào)度程序還支持一個時間窗口,以便它可以喚醒一組應(yīng)用程序,這將使那些不需要精確喚醒時間,但每隔一兩小時需要運行一次的程序能在同一時間點運行,這樣就能讓處理器保持更長時間的休眠。
JobScheduler的優(yōu)勢相當巨大,它不僅可以幫助手機節(jié)省電量, 實際由于不在需要監(jiān)聽,更改和設(shè)置報警,還可以幫助開發(fā)人員減少代碼書寫量。目前該JobScheduler類,已經(jīng)加入Android L開發(fā)者預(yù)覽版。