service学习记录篇(1)--基本概念

什么是Service?

       大家好!欢迎大家来到大菠萝的博客 接下来我们一起来了解一下 service

service是一个可以长时间在后台执行操作而且不适用用户界面的组件

 这两个分为startService 和 bindService  

startService 是什么:他是启动service的一种方式

bindService是什么:他是启动service的一种方式

我:emmm  那么他两的区别在哪里?

startService :

  •                    在其他组件调用startService后 服务处于启动状态  
  •                    如何停止?
  •                    在service中使用stopService后程序停止 或者在其他组件中使用stopService方法使用
  •                    service与启动他的组件的方式:
  •                    没有提供独立的通信方式  启动service后service就处于独立运行的状态
  •                    service的生命周期 一旦启动 service就可以在后台无限期运行 即使启动service的组件已经被销毁 直到其被停止

    接下来看看另外一种启动方式

bindService:

  •                    在其他组件调用bindService后 服务处于启动状态  
  •                    如何停止?
  •                   和service截然不同 注意 bindservice 只要在当所有与service绑定的组件(我很少用所有的)都被销毁 或者都调用了onbindService方法后 service将停止运行
  •                    service与启动他的之间组件的通讯方式:
  •                    可以利用ServiceConnection进行通信 组件可以与service发生交互 发送请求 获取结果 或者是利用IPC跨进程来进行这些操作
  •                   当所有与其绑定的组件都取消绑定后 (这里取消绑定有可能是被主键销毁 也有可能是调用了unbindService方法)service将停止

                注意的是:

  1.                 启动时的"其他组件"不包括brocast receiver,其无法直接启动或者绑定service
  2.                 startService和BindService并不冲突 同一个 service可能既有组件startService启动了他 又有组件与他进行了绑定
  3.                 当同一个service 与其他组件同时存在这两种联系时 生命周期也会发生变化 而这时候必须从两种角度看service停止 才能停止

        
               

猜你喜欢

转载自blog.csdn.net/qq_41914317/article/details/84843392