可參考vivo手機查看后臺程序的方法:
10年的玉山網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整玉山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“玉山網(wǎng)站設(shè)計”,“玉山網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
全面屏機型:
導(dǎo)航鍵:點擊屏幕下方“≡”,即可查看后臺程序;
側(cè)滑手勢:從屏幕底部邊緣向上滑動并停留;
上滑手勢:從屏幕底部邊緣左側(cè)向上滑動;
非全面屏機型:
在任意界面,按一下左鍵,即會顯示所有正在后臺運行的程序。
溫馨提示:點擊某一程序可以直接切換進入該程序,按住后臺程序上滑可關(guān)閉該程序。
工具:
手機
設(shè)置步驟如下:
以HUAWEI MATE7手機為例
1、打開“手機管家”,進入功能選項界面;
2、點擊選擇“電源管理”,進入電源管理頁面;
3、點擊選擇“受保護的應(yīng)用”,對需要在后臺運行的APP進行設(shè)置;
4、選擇需要在后臺運行的APP,將保護功能按鈕打開;
5、此時此APP即可一直在后臺運行,而不會在關(guān)閉手機后,被系統(tǒng)自動結(jié)束掉程序了。
參考:
手機休眠引發(fā)的“血案”
使設(shè)備保持喚醒
目的為了后臺能夠執(zhí)行定時任務(wù),避免因為設(shè)備息屏等操作導(dǎo)致CPU進入睡眠狀態(tài),定時任務(wù)被暫停,這就需要能夠喚醒CPU,使CPU能夠起來工作
具有喚醒CPU功能, 喚醒CPU與喚醒屏幕非同一功能。
AlarmManager是安卓系統(tǒng)封裝的用于管理RTC 模塊,RTC(實時時鐘)是一個獨立的硬件時鐘,可以在CPU休眠時正常運行,在預(yù)設(shè)的時間到達時,通過中斷喚醒CPU。這意味著,如果我們用AlarmManager來定時執(zhí)行任務(wù),CPU可以正常的休眠,只有在需要運行任務(wù)時醒來一段很短的時間。
AlarmManager 定時任務(wù)測試:
MI8 UD:
測試1: 創(chuàng)建一個 Service, Service 中啟動一個 AlarmManager 定時任務(wù)
息屏后會繼續(xù)打印Log,但息屏超過1min 后,log 停止輸出:
測試2: 創(chuàng)建一個前臺通知Service
Service + StartForground + 前臺通知 方式,
MI8 UD 息屏后仍繼續(xù)打印log.
MI 8 + MI 10 經(jīng)過測試,在長時間息屏狀態(tài)下, AlarmManager 也會存在不工作情況。
另外,設(shè)備處于低電耗模式下, AlarmManager 會停止工作或延遲工作,解決辦法: AlarmManager 利弊
手機長時間不操作,CPU 就會進入睡眠狀態(tài),會導(dǎo)致 Timer 中的定時任務(wù)無法正常運行。
息屏后,TimerTask 停止工作,再次亮屏后,繼續(xù)工作
同樣會由于息屏導(dǎo)致CPU睡眠, Handler 停止工作
太“重”了,使用起來。 影響設(shè)備耗電量。
WorkManager 也可以運行后臺任務(wù),用于在APP進程被kill后,系統(tǒng)依然可以運行的任務(wù),不要用于APP被殺后,后臺服務(wù)即停止的任務(wù)。
總結(jié):
Timer并不太適用于那些需要長期在后臺運行的定時任務(wù)。為了能讓電池更加耐用,每種手機都會有自己的休眠策略,Android 手機就會在長時間不操作的情況下自動讓 CPU 進入到睡眠狀態(tài),這就有可能導(dǎo)致 Timer 中的定時任務(wù)無法正常運行。
Alarm具有喚醒 CPU 的功能,即可以保證每次需要執(zhí)行定時任務(wù)的時候 CPU 都能正常工作。
AlarmManager 定時任務(wù)最小間隔5S, 如何設(shè)置間隔 5s, 也是按照 5s 間隔執(zhí)行。
Android DozeMode
安卓android后臺的軟件自動啟動程序 - 使用android手機必讀(精華中的精華)2011-08-25 16:06不用在意剩余內(nèi)存的大小,其實很多人都是把使用其他系統(tǒng)的習(xí)慣帶過來來了。android大多應(yīng)用沒有退出的設(shè)計其實是有道理的,這和系統(tǒng)對進程的調(diào)度機制有關(guān)系。如果你知道java,就能更清楚這機制了。其實和java的垃圾回收機制類似,系統(tǒng)有一個規(guī)則來回收內(nèi)存。進行內(nèi)存調(diào)度有個閥值,只有低于這個值系統(tǒng)才會按一個列表來關(guān)閉用戶不需要的東西。當(dāng)然這個值默認設(shè)置得很小,所以你會看到內(nèi)存老在很少的數(shù)值徘徊。但事實上他并不影響速度。相反加快了下次啟動應(yīng)用的速度。這本來就是android標(biāo)榜的優(yōu)勢之一,如果人為去關(guān)閉進程,沒有太大必要。特別是使用自動關(guān)進程的軟件。(這里解決了大家非要關(guān)進程的誤區(qū)?。?/p>
到這里有人會說了,那為什么內(nèi)存少的時候運行大型程序會慢呢?其實很簡單,在內(nèi)存剩余不多時打開大型程序,會觸發(fā)系統(tǒng)自身的調(diào)進程調(diào)度策略,這是十分消耗系統(tǒng)資源的操作,特別是在一個程序頻繁向系統(tǒng)申請內(nèi)存的時候。這種情況下系統(tǒng)并不會關(guān)閉所有打開的進程,而是選擇性關(guān)閉,頻繁的調(diào)度自然會拖慢系統(tǒng)。所以,論壇上有個更改內(nèi)存閥值的程序可以有一定改善。但改動也可能帶來一些問題,取決于值的設(shè)定。
那么,進程管理軟件有無必要呢?有的。就是在運行大型程序之前,你可以手動關(guān)閉一些進程釋放內(nèi)存,可以顯著的提高運行速度。但一些小程序,完全可交由系統(tǒng)自己管理。
談到這里,可能有的朋友會問,如果不關(guān)程序是不是會更耗電。我就說說android后臺的原理,你就明白了。android的應(yīng)用在被切換到后臺時,它其實已經(jīng)被暫停了,并不會消耗cpu資源,只保留了運行狀態(tài)。所以為什么有的程序切出去重進會到主界面。但是,一個程序如果想要在后臺處理些東西,如音樂播放,它就會開啟一個服務(wù)。服務(wù)可在后臺持續(xù)運行,所以在后臺耗電的也只有帶服務(wù)的應(yīng)用了。這個在進程管理軟件里能看到,標(biāo)簽是service。至于廣播什么的我就不涉及了。所以沒有帶服務(wù)的應(yīng)用在后臺是完全不耗電的,沒有必要關(guān)閉。這種設(shè)計本來就是一個非常好的設(shè)計,下次啟動程序時,會更快,因為不需要讀取界面資源,何必要關(guān)掉他們抹殺這個android的優(yōu)點呢?(告訴我們?nèi)绾魏侠硎褂眠M程管理軟件)
還有一個,為什么android一個應(yīng)用看起來那么耗內(nèi)存。大家知道,android上的應(yīng)用是java,當(dāng)然需要虛擬機,而android上的應(yīng)用是帶有獨立虛擬機的,也就是每開一個應(yīng)用就會打開一個獨立的虛擬機。這樣設(shè)計的原因是可以避免虛擬機崩潰導(dǎo)致整個系統(tǒng)崩潰,但代價就是需要更多內(nèi)存。(跟塞班也不一樣,案桌不容易死機重啟)
以上這些設(shè)計確保了android的穩(wěn)定性,正常情況下最多單個程序崩潰,但整個系統(tǒng)不會崩潰,也永遠沒有內(nèi)存不足的提示出現(xiàn)。大家可能是被windows毒害得太深了,總想保留更多的內(nèi)存,但實際上這并不一定會提升速度,相反卻喪失了程序啟動快的這一系統(tǒng)特色,很沒必要。大家不妨按我說的習(xí)慣來用用這個系統(tǒng)。
1.找到手機設(shè)置,點擊進入到時設(shè)置頁面,如圖所示。
2.進入設(shè)置之后,點擊關(guān)于手機選項,如圖所示。
3.在關(guān)于手機的頁面中,找到版本號,并連續(xù)點擊多次版本號,直到出現(xiàn)開發(fā)人員選項為止。
4.然后點擊開發(fā)人員選項,進入到下一頁面。如圖所示。
5.找到后臺進程限制,點擊選項進入,如圖所示。
6.此時會出現(xiàn)一個后臺運行進程的設(shè)置,根據(jù)你的需求選擇后臺運行程序的個數(shù)。這樣就設(shè)置后臺運行程序成功了。