來源:http://blog.csdn.net/android_tutor/article/details/5789203
Service概念及用途:
與Activity不同,不能自己啟動的,運行在後台的程序,如果我們退出應用時,Service進程並沒有結束仍然在後台運行,那我們什麼時候會用到Service呢?
比如當我們一個應用的數據是通過網絡獲取的,不同時間(一段時間)的數據是不同的這時候我們可以用Service在後台定時更新,而不用每打開應用的時候在去獲取。
Service生命週期 :
它只繼承了onCreate(),onStart(),onDestroy()三個方法,
當我們第一次啟動Service時,先後調用了onCreate(),onStart()這兩個方法,
當停止Service時,則執行onDestroy()方法,這裡需要注意的是,如果Service已經啟動了,當我們再次啟動Service時,不會在執行onCreate()方法,而是直接執行onStart()方法,具體的可以看下面的實例。
第一次啟動 Service => onCreate() => onStart()
再次啟動 Service => onStart()
停止 Service => onDestroy()
Service與Activity通信:
Service後端的數據最終還是要呈現在前端Activity之上的,因為啟動Service時,系統會重新開啟一個新的進程,當我們想獲取啟動的Service實例時,我們可以用到bindService 和onBindService方法,它們分別執行了Service中IBinder()和onUnbind()方法。
bindService : IBinder()
onBindService : onUnbind()
Service概念及用途:
與Activity不同,不能自己啟動的,運行在後台的程序,如果我們退出應用時,Service進程並沒有結束仍然在後台運行,那我們什麼時候會用到Service呢?
比如當我們一個應用的數據是通過網絡獲取的,不同時間(一段時間)的數據是不同的這時候我們可以用Service在後台定時更新,而不用每打開應用的時候在去獲取。
Service生命週期 :
它只繼承了onCreate(),onStart(),onDestroy()三個方法,
當我們第一次啟動Service時,先後調用了onCreate(),onStart()這兩個方法,
當停止Service時,則執行onDestroy()方法,這裡需要注意的是,如果Service已經啟動了,當我們再次啟動Service時,不會在執行onCreate()方法,而是直接執行onStart()方法,具體的可以看下面的實例。
第一次啟動 Service => onCreate() => onStart()
再次啟動 Service => onStart()
停止 Service => onDestroy()
Service與Activity通信:
Service後端的數據最終還是要呈現在前端Activity之上的,因為啟動Service時,系統會重新開啟一個新的進程,當我們想獲取啟動的Service實例時,我們可以用到bindService 和onBindService方法,它們分別執行了Service中IBinder()和onUnbind()方法。
bindService : IBinder()
onBindService : onUnbind()
沒有留言:
張貼留言