成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對于Android Service 生命周期進行全解析

移動開發(fā) Android
Android Service 生命周期只不過說是終止一個進程,但是當內(nèi)存不足的時候它必須中止一些老的線程,為了決定哪些進程保留哪些進程中止。

Android Service 生命周期可以促使移動設(shè)備的創(chuàng)新,讓用戶體驗到***越的移動服務(wù),只有broadcast receivers執(zhí)行此方法的時候才是激活的,當 onReceive()返回的時候,它就是非激活狀態(tài)。

如果沒有程序停止它或者它自己停止,service將一直運行。在這種模式下,service開始于調(diào)用Context.startService() ,停止于Context.stopService(). service可以通過調(diào)用Android Service 生命周期() 或 Service.stopSelfResult()停止自己。不管調(diào)用多少次startService() ,只需要調(diào)用一次 stopService() 就可以停止service

可以通過接口被外部程序調(diào)用。外部程序建立到service的連接,通過連接來操作service。建立連接調(diào)開始于Context.bindService(), 結(jié)束于Context.unbindService(). 多個客戶端可以綁定到同一個service,如果service沒有啟動, bindService() 可以選擇啟動它。

這2種模式不是完全分離的。你可以可以綁定到一個通過startService()啟動的服務(wù)。如一個intent想要播放音樂,通過startService() 方法啟動后臺播放音樂的service。然后,也許用戶想要操作播放器或者獲取當前正在播放的樂曲的信息,一個activity就會通過bindService()建立一個到此service的連接. 這種情況下 stopService() 在全部的連接關(guān)閉后才會真正停止service

像activity一樣, service也有可以通過監(jiān)視狀態(tài)實現(xiàn)的生命周期。但是比activity要少――只有3個――而且是public的而不是protected的

  1. void onCreate()   
  2. void onStart(Intent intent)   
  3. void onDestroy() 

通過實現(xiàn)這3個方法,可以監(jiān)視service生命周期的2個嵌套循環(huán):

整個生命周期 從onCreate() 開始,從onDestroy() 結(jié)束,像activity一樣, a Android Service 生命周期在 onCreate()中執(zhí)行初始化操作,在 onDestroy()中釋放所有用到的資源。如:后臺播放音樂的service可能在 onCreate()創(chuàng)建一個播放音樂的線程,在onDestroy()中銷毀這個線程。

活動生命周期 開始于 onStart(). 這個方法處理傳入到startService()方法的intent。 音樂服務(wù)會打開intent查看要播放哪首歌曲,并開始播放。當服務(wù)停止的時候,沒有方法檢測到――沒有 onStop() 方法,onCreate() 和 onDestroy() 用于所有通過Context.startService() or Context.bindService() 啟動的service。onStart() 只用于通過startService()開始的service

如果一個Android Service 生命周期是可以從外部綁定的,它就可以觸發(fā)以下的方法:

  1. IBinder onBind(Intent intent)   
  2. boolean onUnbind(Intent intent)   
  3. void onRebind(Intent intent) 

onBind() 回調(diào)被傳遞給調(diào)用bindService 的intent, onUnbind() 被unbindService()中的intent處理。如果服務(wù)允許被綁定。那么onBind() 方法返回客戶端和sercie的溝通通道。如果一個新的客戶端連接到服務(wù),onUnbind() 會觸發(fā)onRebind() 調(diào)用。

下面的圖表說明了sercice的回調(diào)方法。下面的圖片將通過 startService 和通過bindService()啟動的service分開了,但是要注意不管他們怎么啟動的,都有可能被客戶端連接,因此都有可能觸發(fā)到onBind() 和 onUnbind() 方法。

當經(jīng)過receiver 請求,broadcast message到達的時候, Android 調(diào)用持有message的intent的 onReceive() 方法,只有broadcast receivers執(zhí)行此方法的時候才是激活的,當 onReceive()返回的時候,它就是非激活狀態(tài)

一個含有激活的broadcast receiver的進程是不會被中止的。但是只含有非激活組件的進程在它占用的內(nèi)存被其他程序請求的時候,任何時間都可以被中止。 當響應(yīng)broadcast message的程序因為消耗很多時間而在另外一個線程 而非UI所在的線程處理的時候會出現(xiàn)一個問題。

當 onReceive() 開啟一個線程并返回后,整個程序(包括新建的線程)狀態(tài)是非激活的(除非此進程中有其他激活的組件), 因此這個進程就有被中止的危險。解決這個問題的辦法是onReceive() 方法啟動一個Android Service 生命周期,讓sercie去做耗時的工作,這樣系統(tǒng)就知道此進程中還有活動的工作。

【編輯推薦】

  1. Android應(yīng)用程序組建原理深入剖析 Android SMS短信服務(wù)相關(guān)概念簡述
  2.  
  3. PythonAndroid數(shù)據(jù)庫相關(guān)代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應(yīng)用程序的四個關(guān)鍵點
責任編輯:chenqingxiang 來源: 51CTO.com
相關(guān)推薦

2010-02-05 15:22:14

2023-04-19 07:50:59

?云原生生命周期管理

2013-12-06 17:52:08

2011-06-16 09:31:21

ActivityAndroid

2010-01-26 17:00:31

Android生命周期

2010-12-03 12:22:02

局域網(wǎng)文檔文檔安全數(shù)據(jù)保護

2020-04-02 14:29:21

云安全派拓網(wǎng)絡(luò)Palo Alto N

2015-07-08 16:28:23

weak生命周期

2014-04-16 13:31:27

AndroidFragment多屏幕支持

2022-04-19 07:20:24

軟件開發(fā)安全生命周期SSDLC應(yīng)用安全

2010-02-23 16:46:27

Python設(shè)計語言

2021-10-26 16:39:34

安全隱私大數(shù)據(jù)

2021-10-18 11:57:49

大數(shù)據(jù)安全隱私

2022-01-11 06:53:23

Gke集群Aks

2012-06-20 10:29:16

敏捷開發(fā)

2009-06-24 10:47:55

JSF生命周期

2013-08-19 17:03:00

.Net生命周期對象

2021-07-19 05:52:29

網(wǎng)絡(luò)生命周期網(wǎng)絡(luò)框架

2009-06-11 11:28:35

JSF生命周期

2010-07-14 10:48:37

Perl線程
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 中文字幕av色| 波多野结衣一区二区三区在线观看 | 精品国偷自产在线 | 日韩一区二区免费视频 | 欧美狠狠操 | 亚洲 欧美 另类 综合 偷拍 | 欧美三区| 国产成人午夜高潮毛片 | 国产一区视频在线 | 五月天婷婷久久 | m豆传媒在线链接观看 | 在线观看亚洲欧美 | www.伊人.com| 99精品在线| 日韩视频在线免费观看 | 综合久久网 | 喷水毛片 | 毛片一区二区三区 | 91久久久久久久久久久久久 | 黄a网站 | 视频一区中文字幕 | 久久久久99 | 日韩成人免费视频 | 亚洲一区 | 老司机精品福利视频 | 黄网站在线播放 | 欧美一区二区三区免费在线观看 | 日韩成人av在线播放 | 亚洲成人第一页 | 999久久久| 少妇一区在线观看 | 国产午夜精品一区二区三区四区 | 天天玩天天干天天操 | 日韩精品无码一区二区三区 | 色婷婷综合网站 | 91精品国产一区二区三区香蕉 | a级黄色片视频 | 国产黄a一级 | 欧美阿v| 亚洲精品久久久久avwww潮水 | 一区二区三区四区免费在线观看 |