2012-02-23 107 views
6

我是新來的Android。現在我只是嘗試一些包含服務的示例。在其中一個示例中,服務是作爲一個單獨的後臺進程創建的。使用這樣的事情Android - 保持服務活着,即使父進程被殺死

android:process=":background" 

他們說,現在的服務將是具有獨立的進程環境,因此它從正在啓動它的一個(應用)分開。當我殺死父進程即應用程序時,該服務也正在被殺死。這是否正常行爲?因爲我從該文章中瞭解到的是Service不會受到影響,因爲它是不同的流程環境。如果我錯了,請糾正我。在此先感謝

更新: 即使我看到相同的行爲,如果我使用:遠程。

+0

如果用戶強行停止你的應用程序設置,我認爲服務也將被殺死.. – AAnkit 2012-02-23 06:32:20

+0

@Ankit謝謝,但是:remote&:background打算做什麼。 – Allwyn 2012-02-23 06:36:47

回答

1

只需從Android文件副本:

如果分配給該屬性的名稱以冒號開始(「:」),一個 新工藝,專用的應用程序,在需要時創建。 如果進程名稱以小寫字符開頭,那麼會創建該名稱的全局進程 。一個全球性的過程可以與其他 應用程序共享,減少資源的使用

http://developer.android.com/guide/topics/manifest/application-element.html#proc

1

據我所知,有兩種類型的服務,

1)背景:這在同一進程中運行應用。

2)遠程:如果我們想使這個服務運行在遠程過程(而不是標準之一的.apk文件),我們可以使用Android:過程在其清單標記來指定一個:,

我們也可以使用其他字符串,然後背景和遠程。 這裏是服務lifecycle