Android|Android Service学习(一)

早在开始学习Android开始,四大组件就以学习了解了不少,可是总是对这些基础知识了解不够牢固,用的时候总是不知道如何下手,于是还是踏踏实实脚踏实地重新学习这些基础知识。
概述 Service是Android四大组件之一,主要是用来当作后台处理的工具,它与Activity不是同一个东西,所以当Activity结束时Service不受到任何的影响,该继续工作就继续工作。一个组件若是同Service进行绑定,则它们之间可以进行数据的交互,同时哪怕是不同的进程之间都可以进行进程交互(IPC)。
使用场景:网络请求音乐操控文件的I/O流操作等等。
使用方法 Service的调用一共两种启用方式:startService、bindService。
startService方式 该方式独立在后台运行,需要自己调用销毁命令。
使用场景:上传下载
bindService方式 这个方式则是提供了一种client-service的接口,可以与Service进行发送以及返回结果操作,设置了IPC是不同的进程之间也可以进行通信,可以多个组件之间绑定Service,通过该方式创建的Service的销毁是在与它进行绑定的所有组件都解除绑定时自动进行。

注意:Service的确是在后台运行,但是这个后台依旧是在主线程中,所以也会发生堵塞主线程的情况,所以说在我们使用Service的同时,也需要将一些耗时操作(网络通信等等)另开线程。
Service中的方法解析 onstartCommand:该方法的实现一般是在使用startService出现,重写该方法需要自行调用stopSelf或者stopService方法。
onBind:这个函数一般在我们继承Service时就会自动生成,如果你不使用bind方式,那么就直接return null,如果你需要使用该方法,就需要返回一个IBinder类,通过这个用来与Service进行通信。
onCreate:这个方法在我们使用Activicy中见多不怪了,但是这里的这个方法只是第一次启动时调用,主要是用来初始化一些变量。
onDestory:在销毁该Service时调用,比如在我们创建了一些thread、listeners、receivers等等,然后将其清理的方法写入其中。
提示:当我们创建Service时与需要在Manifest中注册,同时可以在android:exported属性中设置false,以防止其他程序启动。
两种Service启动方式生命周期 (一)startService生命周期
Android|Android Service学习(一)
文章图片
startService生命周期 (二)bindService生命周期
Android|Android Service学习(一)
文章图片
bindService生命周期 【Android|Android Service学习(一)】下一篇:Android Service学习(二)

    推荐阅读