我正在創建一個聊天應用程序,我想知道是否應該使用服務以及它將如何影響我的應用程序的生命週期。我知道如果沒有足夠的內存,Android操作系統可能會摧毀我的應用程序。我的問題:只有使用活動和接收器的應用程序重新啓動,如果Android銷燬它們,或者我需要一個STICKY服務嗎?我已經創建了兩個應用程序,所以我有點想法,但我只想確保。Android生命週期 - 我應該使用服務嗎?
二,http://developer.android.com/reference/android/app/Service.html說:
需要注意的是服務,像其他應用程序對象,在主線程 其宿主進程的運行。這意味着,如果你的服務是 打算做任何CPU密集型(如MP3播放)或阻塞(如 如網絡)業務,它應該釀出自己的線程在其中 做這項工作。
我的應用程序有一個長時間運行的線程(AsyncTask),它執行從服務器讀取(並不斷阻塞)。離開我的應用程序是否是一個好主意,沒有服務,而是使用AsyncTask代替?如果Android選擇關閉我的應用程序,這將如何影響應用程序的生命週期?如果不需要像在我應該做一個STICKY服務那樣,有一個長期運行的服務是好的做法嗎?我注意到很多聊天和txt msg應用程序使用粘性服務。我只是想想如果我的應用程序會需要一個。
再次提前致謝!
developer.android.com上的[** RandomMusicPlayer **](http://developer.android.com/resources/samples/RandomMusicPlayer/index.html)示例是實現音樂(或聊天)的一個很好的起點,需要訪問互聯網並在前臺運行的服務。 – Jens 2012-02-29 08:12:57
我現在可以運行不同的應用程序,並且在不使用服務的情況下收到新消息時仍會收到通知(AsyncTask始終處於後臺運行狀態)。如果我想在活動之間訪問資源,我在Application類中使用單例和靜態引用,所以這也沒有問題(每個活動都不需要綁定服務)。至於發送通知,任何活動都可以通過獲取NotificationManager來發送通知。據我所知,即使在服務中,我也需要創建一個AsyncTask。我不確定我是否看到差異。 – ComputerEngineer88 2012-03-01 05:51:35