Xamarin.Andrid 服务

来源:互联网 发布:js 不停刷新 编辑:程序博客网 时间:2024/06/05 00:17
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一样,有自己的生命周期,只是没有界面,其也是运行在主线程里面的,所以当有耗时的操作时,一定要另开一个线程来完成这个操作。不然就会卡死。

ServiceIntentservice

Service与Intent service的区别就是Intent service里面可以有耗时的操作,它是另起一个线程

ServicebindingService

 

服务从创建到销毁,有两种方式,一为start service ,其二是bind service,两者都要

但是呢,其调用的方法不一样

就是说binding service比start service多了一个解除bind的过程

当所有的与服务的连接都被unbind时,服务就被销毁了

 

                                             
0 0
原创粉丝点击