2014-09-25 22 views
0

我一直在經歷這個非常short tutorial的,我很困惑,什麼是服務的功能。我也對廣播接收機的功能感到困惑。新到Android - 瞭解使用該服務

我試圖做一些研究,這裏是我的理解: - 服務在後臺運行,但是...我不明白爲什麼我們需要在後臺運行的東西 使手機醒來在某個時間。

  • 我「覺得」廣播接收器充當某種捕手的麻省理工學院,在 時掛起的意圖是在一個特定的時間推出,就抓住它,然後 啓動服務...離我有多近真相?
+0

看看這個教程第一個https://developer.android.com/training/run-background-service/create-service.html和這個也是http://developer.android。com/guide/components/services.html沒有人可以教你比這更好 – Developer 2014-09-25 11:55:03

+0

我讀過 - 但我需要知道如何在這個特定的情況下使用服務 – 2014-09-25 11:57:38

+0

我發佈了我認爲希望這會讓你明白的 – Developer 2014-09-25 12:03:36

回答

-2

服務 - 是機器人的部件,這在背景與任何UI運行。默認情況下,服務只能在主線程中運行。

主題 - 是不是Android的組成部分,但仍然可以使用線程做一些後臺任務。不鼓勵使用線程代替服務

+0

我明白什麼是服務功能,但本教程中特別提供的服務是什麼?廣播接收機在做什麼? – 2014-09-25 12:29:26

+0

廣播是不同的東西它執行沒有任何用戶交互的代碼例如:低battery.service是運行的代碼背景.just像thread.but它運行在主線程。當進入正常線程服務有更多的優先級,例如: - 當內存Android操作系統殺死一些後臺運行task.at時,後臺運行線程首先殺死然後它來到服務。 – 2014-09-25 12:32:44

1

因爲我認爲services用於長時間運行的任務,尤其是在您的main activity未運行時運行的那些情況下。 對於這個功能,我們可以利用這個threads讓我們說一個線程被我們的活動中創建,它不能成爲我們的主要活動, 的活躍之外的是,這就是爲什麼我們有services的缺點。

Document URL

+0

但服務是做什麼的?它的功能是什麼? – 2014-09-25 12:09:59

+0

已在答案中提及。請仔細閱讀文檔 – Developer 2014-09-25 12:14:20

+0

此類項目的服務目的是什麼? – 2014-09-25 12:30:22

0

服務可用於運行長期運行的任務,獨立的屏幕流。例如,考慮你的應用程序需要在整個運行期間通過套接字與服務器通信,你可以啓動一個服務來處理這個問題。想象一下,在每個活動開始時,啓動套接字並建立連接,並在活動停止時進行清理。

默認情況下,服務在主線程中運行。但是您可以在服務上下文中啓動單獨的線程,就像在Activity中一樣。如果後臺任務可以跨多個活動重疊,那麼最好在服務上下文中啓動它,因爲每個創建的Thread/AsyncTask都保留它正在運行的上下文。在這種情況下,即使用戶導航到其他活動,您的活動也會保留,因爲從該活動啓動的線程已在運行。如果活動被保留,它可能會阻止其所有視圖,圖像被垃圾收集。

什麼服務不能做的就是直接改變UI組件。爲此,它需要與當前正在運行的Activity上下文進行通信。簡而言之,如果您的非UI任務確實與特定活動的生命週期重疊,最好將該任務轉移到服務。

0

什麼是服務的功能?

服務是一個在後臺運行而不與用戶直接交互的組件。

由於該服務沒有用戶界面,因此不會綁定到活動的生命週期。

服務用於重複和可能長時間運行的操作,即,互聯網下載,檢查新數據,數據處理,更新內容提供商等。

爲:Service

什麼是廣播接收機的功能?

廣播接收機是第二種組件。與服務一樣,它們只存在於後臺,並且不會直接與您進行交互。但與服務不同,它們不能保持運行或執行長時間任務:它們存在以響應事件。與活動和服務不同,可以一次啓動多個廣播接收機。

每個廣播接收機都可以立即做出反應,例如通過創建通知,或者它可以啓動服務或活動以採取進一步的行動。一旦廣播接收機處理了該事件,該廣播接收機就會停止並且不會再次運行,直到另一個類似事件被廣播。

爲:BroadcastReceiver

我不明白爲什麼我們需要的東西在後臺運行 使手機喚醒在一定的時間?

我們不希望應用程序必須在前臺才能喚醒電話。 此外,我們希望在後臺通知。

我們開始了這項服務。現在,即使我們關閉應用程序,您也可以獲得手機喚醒通知。這非常有用。

服務非常適合通過通知與用戶進行交互(這是一種提醒用戶有關他需要被通知的事件的方式,或者甚至在獲取該信息時採取一些措施)。很多時候,應用程序需要長時間運行流程,而無需用戶干預,或者非常少見的干預措施。即使手機用於其他活動/任務,這些後臺進程也需要保持運行。 爲了適應這樣的要求,android已經引入了"Service"組件。

它在後臺運行直到它自行停止。這意味着某項服務可能會讓您的手機保持清醒狀態(使用喚醒鎖),耗盡電池或使用大量網絡數據,屏幕上不顯示任何內容。

我「覺得」廣播接收器充當某種捕手的麻省理工學院,在 時掛起的意圖是在特定時間推出的,它 捕獲它,然後啓動服務...離我有多近真相?

正確的,他們是爲了一個目的(通常是一個由服務或系統事件發送),做一些事情,並進行迴應。當通過sendBroadcast廣播意圖時,它將被髮送到具有匹配的意圖過濾器的所有接收器。