Service是一个应用组件,它用来在后台完成一个时间跨度比较大的工作。
Service可以完成的工作:访问网络、播放音乐、文件输入输出、数据库操作。
注意
Service在后台运行,应用退出后服务也不会停止,但当进程被杀死时服务便会停止。
Service的生命周期
onCreate()
首次创建服务时,系统将调用此方法来执行一次性设置程序。如果服务已在运行,则不会调用此方法,该方法只调用一次
onStartCommand()
当另一个组件(如 Activity)通过调用 startService() 请求启动服务时,系统将调用此方法。一旦执行此方法,服务即会启动并可在后台无限期运行。 如果自己实现此方法,则需要在服务工作完成后,通过调用stopService() 来停止服务。
onDestroy()
当服务不再使用且将被销毁时,系统将调用此方法。服务应该实现此方法来清理所有资源,如线程、注册的侦听器、接收器等,这是服务接收的最后一个调用。
Service中重要方法
onBind()
在此方法的实现中,将返回 一个IBinder 接口的实现类,供客户端用来与服务进行通信。无论是启动状态还是绑定状态,此方法必须重写,但在启动状态的情况下直接返回 null。