internal class ServiceTest : Service
{
// 在真實的使用中,Service來還包含一個OnBind方法,並且必須要使用該方法,但是隻要返回NULL即可,
//除非當前服務是一個綁定服務,那麼就要返回實現了IBinder的實例。
public override IBinder OnBind(Intent intent)
{
return null;
}
//創建服務,只會在服務第一次創建時調用
public override void OnCreate()
{
base.OnCreate();
Log.Debug("xamarin", "創建服務");
}
//每一次啓動服務都會調用該方法
public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId)
{
Log.Debug("xamarin", "啓動服務");
return StartCommandResult.Sticky;
}
//主要用於釋放資源
public override void OnDestroy()
{
base.OnDestroy();
Log.Debug("xamarin", "關閉服務");
}
}
服務和Android Activity是同級別的,並不是單獨的進程
和上面三以及Content provider並稱爲Android 四大件。服務和Activity一樣,有自己的生命週期,只是沒有界面,其也是運行在主線程裏面的,所以當有耗時的操作時,一定要另開一個線程來完成這個操作。不然就會卡死。
Service與Intentservice
Service與Intent service的區別就是Intent service裏面可以有耗時的操作,它是另起一個線程
Service與bindingService
服務從創建到銷燬,有兩種方式,一爲start service ,其二是bind service,兩者都要
但是呢,其調用的方法不一樣
就是說binding service比start service多了一個解除bind的過程
當所有的與服務的連接都被unbind時,服務就被銷燬了