Services
一、基本介紹
1、什麼時候用service?
(1)not interacting with the user【不需要與用戶交互】
(2)supply functionality for other applications to use【爲其他應用提供功能的時】
問題:仔細思考一下,你或許會產生這樣的想法-----你認爲你自己寫一個音樂播放器在Activity中,去實現音樂播放,同時自己可以home鍵以後Activity也隱藏呀。---因此認爲service在這方面沒用。。實際上你再仔細想想
答:(1)當系統內存緊張時會選把activity殺掉,而很少有service會死掉;
(2)另外,一般activity會在ondestroy時release一些內容,所以,當界面被覆蓋時,activity就不安全了。【 比如說你橫豎屏時,這時會執行ondestroy,從而導致音樂播放器要重新加載】。
(3)因爲用戶希望關閉activity後歌曲會繼續播放。
2、service的作用:
a longer-running operation ;--【這兒指出它不是一個線程】
3、service的運行:
(1)當然它運行在main thread中;【因此A Service is not a separate process.;A Service is not a thread. -----這兒指出的是它與thread有密切的關係,如果它沒有一個thread,在一定意義上就沒有了一些基本作用。】
(2)note:service不用線程不能直接下載圖片或者訪問數據庫;否則--ANR