你的位置:首页 > 软件开发 > 操作系统 > 安卓四大组件之服务

安卓四大组件之服务

发布时间:2016-11-16 15:00:09
Service 是Android 中的(四大)组件之一。服务是没有界面的组件,运行在后台,服务是运行在当前应用程序进程里。如果有耗时的操作,不想有界面、而且还不想程序退出就停止运行的逻辑,放在服务里。要注意的是,服务也是运行在主线程中,如果有耗时操作,要放在子线程里,如果服务被系 ...

       Service 是Android 中的(四大)组件之一。服务是没有界面的组件,运行在后台,服务是运行在当前应用程序进程里。如果有耗时的操作,不想有界面、而且还不想程序退出就停止运行的逻辑,放在服务里。要注意的是,服务也是运行在主线程中,如果有耗时操作,要放在子线程里,如果服务被系统杀死了,会默认重启。另外,组件也可以通过绑定的形式跟一个Service进行交互,甚至完成进程间通信。比如:Service 可以在后台处理网络传输、播放音乐、进行I/O 流的读写或者跟内容提供者进行交互。startService()和bindService()是开启服务的两种方式,startService()不能调用服务里的方法,不可以与服务进行通信,服务一旦开启,会长时间在后台运行,与开启在不再有关系, 开启在退出了,服务还是在运行的,而且不能调用服务里的方法;bindService()可以间接的调用服务里的方法,可以与服务进程通信,服务开启了是和开启在的生命周期绑定的,如果开启在关闭了,服务也就关闭了, 开启者可以间接的调用服务里的方法。如果服务同时被开启和绑定,那么服务就停不掉了,需要解除绑定服务才能停止服务。需要服务长期在后台运行,还需要调用服务里的方法,用混合方式开启服务,即采用两种方式,但调用方式需要严格的顺序。首先,用start方式开启服务,目的是保证服务在后台能够长时间运行;其次,用bind方式绑定服务,绑定了服务,方便调用服务里的方法;然后解绑时,要先用unBind方式解绑,最后才stop方式停止服务。

     以上就是对服务的基本描述,接下来实现服务的具体操作。首先,需要明确一下服务的具体操作步骤。 

     startService()的方式开启服务的大体流程如下:

原标题:安卓四大组件之服务

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录