android後台
❶ android中的後台自啟動是個什麼概念
分開機後自動啟動應用程序和打開某個Acitivity並隨之啟動而啟動,它主要依靠Service來實現。service是android 系統中的一種組件,它跟Activity的級別差不多,但是他不能自己運行,只能後台運行,並且可以和其他組件進行交互。它有兩種啟動方式,一種context.startService() 和 context.bindService()。前者為獨立啟動不依賴Acitivity,後者是和Acitivity綁定在一起隨Acitivity的退出而退出。
❷ 安卓真後台和蘋果偽後台有什麼區別
安卓真後台和蘋果偽後台有什麼區別?
1、APP在後台的運行狀態不同。
Android的「真後台」允許APP留存在後台,依靠著Service服務組件繼續運行,搶占前台CPU資源,而蘋果的ios系統「偽後台」中,最多隻能運行5秒,之後就會被掛起,造成後台不會下載、開多個網頁後切換需要重載入的現象。
2、對手機流暢度的影響不同。
安卓系統「真後台」允許應用在後台運行,使得手機容易卡頓,對手機的流暢度影響較高,會使手機的使用流暢度大大降低,而蘋果的ios系統採用「偽後台」的形式,減輕了對手機流暢度的影響,因為蘋果手機對後台的限制非常嚴格,只有一些特殊應用可以在後台真正運行。
(2)android後台擴展閱讀:
從iOS7開始,蘋果的後台開始實現了從「偽後台」到「智能後台」的性能革新。一旦手機鎖屏,後台應用將也將被暫停,之後當系統被喚醒時(比如接到電話),那些暫停的後台應用將會繼續運行。
這種方式採用了非常復雜的設計邏輯性能,在兼顧系統安全性、流暢性和續航能力的基礎上,最大程度上實現了真後台的一些性能,比如後台刷新、推送喚醒和後台傳輸,能夠根據用戶的行為習慣,提前喚醒一些高頻率使用的APP,不需要在打開後重新載入。
這樣的好處是,系統不會因為第三方應用在後台運行而長時間處於喚醒狀態,對電池續航有益,而且第三方應用的保持時間也更久了。
❸ android如何讓程序在後台運行
思路:在程序中注冊一個事件,像是broadcstReceiver,讓程序從啟動起就一直運行,然後判斷程序當前是在前台還是後台,如果是在後台就運行你的功能代碼
有關判斷android程序是否在前台運行的方法請參考:
blog.csdn.net/jingwen3699/article/details/8541084
❹ android後台服務保持,不被殺死
作者:閉關寫代碼
鏈接:https://www.hu.com/question/29826231/answer/71207109
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
強烈建議不要這么做,不僅僅從用戶角度考慮,作為Android開發者也有責任去維護Android的生態環境。現在很多Android開發工程師,主力機居然是iPhone而不是Android設備,感到相當悲哀。
從技術角度概括一下現在普遍的防殺方法
Service設置成START_STICKY,kill 後會被重啟(等待5秒左右),重傳Intent,保持與重啟前一樣
通過 startForeground將進程設置為前台進程,做前台服務,優先順序和前台應用一個級別,除非在系統內存非常缺,否則此進程不會被 kill
雙進程Service:讓2個進程互相保護,其中一個Service被清理後,另外沒被清理的進程可以立即重啟進程
QQ黑科技:在應用退到後台後,另起一個只有 1 像素的頁面停留在桌面上,讓自己保持前台狀態,保護自己不被後台清理工具殺死
在已經root的設備下,修改相應的許可權文件,將App偽裝成系統級的應用(Android4.0系列的一個漏洞,已經確認可行)
Android系統中當前進程(Process)fork出來的子進程,被系統認為是兩個不同的進程。當父進程被殺死的時候,子進程仍然可以存活,並不受影響。鑒於目前提到的在Android-Service層做雙守護都會失敗,我們可以fork出c進程,多進程守護。死循環在那檢查是否還存在,具體的思路如下(Android5.0以下可行)
用C編寫守護進程(即子進程),守護進程做的事情就是循環檢查目標進程是否存在,不存在則啟動它。
在NDK環境中將1中編寫的C代碼編譯打包成可執行文件(BUILD_EXECUTABLE)。
主進程啟動時將守護進程放入私有目錄下,賦予可執行許可權,啟動它即可。
聯系廠商,加入白名單
------------------------------------------------------
TIP: 面對各種流氓軟體後台常駐問題,建議使用「綠色守護」來解決,可是殺掉那些第三方清理工具難以清除的後台程序
❺ android編程如何讓程序後台運行
通過android的四大組件之一的service來實現後台運行,類似Windows上的服務。
1、Android上的service有兩種啟動方式(或者說兩種方法實現service)
①startService()和bindService() ,有區別。
2、簡單的使用Service步驟(startService()):
①建立service的子類,重寫onStartCommand()。(當服務啟動的時候會調用該方法)
java">{
@Override
publicvoidonCreate(){
}
//這個函數在低版本中使用的是onStart(),onStart()在高版本中已經過時了。
@Override
publicintonStartCommand(Intentintent,intflags,intstartId){
}
@Override
publicvoidonDestroy(){
}
}
②在清單文件中聲明Service組件
<application>
<serviceandroid:name="HelloService">
<intent-fiter>
<actionandroid:name="xxxxx">
</intent-fiter>
</service>
</application>
③在Activity等調用startService(intent);啟動你的Service
Intentintent=newIntent("xxxxx");
//還可以使用Intentintent=newIntent(activity.this,HelloService.class);
startService(intent);
註:兩種方法各有不同,具體請看官方API:
http://developer.android.com/guide/components/services.html
❻ 安卓手機後台程序怎麼開
後台就是當你運行某個游戲或軟體時,如果你突然想打電話或者打開別的程序,你直接返回桌面,不退出哪個程序,當你再按那個程序時它就會從你返回桌面時的進度開始,不會重新開始,也就是說這個程序在後台運行,只不過沒有顯示出來;下載個es任務管理器就可以查看正在運行的程序
❼ android 怎樣啟動後台服務
後台服務就是後台運行的意思,只要單擊任務欄上代表這程序的按鈕,原來後台運行的程序就會到前台來,前台運行的程序就會到後台去了。如下圖所示。
Windows 7可以打開幾個窗口,每個任務分配一個窗口,各個窗口可以重疊、排開、放大、縮小、移動等,可以方便地在各打開的窗口間切換,各個打開的應用程序共享電腦資源,多任務環境對用戶是透明的,每個任務都可以按前台、後台和獨佔三種方式進行。
多任務並存時,打開一個窗口後,在任務欄的空白處單擊滑鼠右鍵,然後在彈出的快捷菜單中可以選擇層疊、橫向平鋪或縱向平鋪等。
當Windows 7打開了幾個窗口時,實際上只有一個是你可以對它進行操作的窗口,叫做當前活動窗口。在所有打開窗口的最前面,標題欄底色為深色的窗口為當前活動窗口。單擊任務欄上的按鈕,或按下換檔鍵加製表鍵,即可以把這個窗口切換為當前活動窗口。
任何已經打開,不在前台運行的窗口,在後台仍然是活動的,佔用內存和中央處理器等系統資源,所以,從這個意義上來說,長時間不用的窗口要及時關閉,方法是單擊應用程序窗口標題欄右上角的關閉按鈕。
;一個應用程序,無論是否最小化,在任務欄上都會以按鈕的形式顯示出來,當前活動窗口的應用程序的按鈕呈凹陷形狀,其餘呈隆起形狀。因此,判斷一個窗口是否關閉,只要看其是否還在任務欄中即可。