2020-百家乐凯发k8
一、什么是service
service是能够在后台长时间运行,并且没有用户界面的应用程序组件
二、service的启动方式
①started service:activity调用startservice()方法启动service,此时service能在后台无限期运行;
②bound service:activity调用bindservice()方法启动service,此时service和activity绑定在一起,关闭当前的activity页面,则service也会被关闭。
三、startservice启动service的生命周期
①oncreate()首次创建service时会调用该方法来执行一次性的程序设置;
②onstartcommand()当acticity请求服务时,系统会通过statservice()来调用该方法,执行此方法时,service会在后台无期限执行;
③stopself()或者stopservice(),想要服务停止下来有两种方法:一是service自身调用stopself方法;二是其他组件调用stopservice方法;
④ondestroy()不再使用service并且准备将它销毁时,系统调用此方法,service通过此方法来释放资源。
四、bound service启动service的生命周期
①oncreate()首次创建service时会调用该方法来执行一次性的程序设置;
②onbind()当另一个组件想要绑定service时,通过bindservice()来调用该方法,在此方法的实现中,您必须通过返回 ibinder 提供一个接口,以供客户端用来与服务进行通信。请务必实现此方法;但是,如果您并不希望允许绑定,则应返回 null;
③onunbind()调用该方法来解除service和组件的绑定。
④ondestroy()不再使用service并且准备将它销毁时,系统调用此方法,service通过此方法来释放资源。