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時,服務就被銷毀了