您的位置:首页 > 其它

Xamarin.Andrid 服务

2015-11-08 13:08 465 查看
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时,服务就被销毁了

 


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: