Service 的两种开启方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Service 的两种开启方式相关的知识,希望对你有一定的参考价值。

参考技术A startService 开启服务, 生命周期显示: onCreate -> onStartCommand 服务正在运行了.
当服务已经在后台运行, 无论调用多少次startService都不会重新创建服务, 而是调用onStartCommand

stopService 停止服务, 当服务正在后台运行, stopService会把服务关掉, 生命周期: onDestory

注 : 这种方式开启服务, 不可以调用服务中的方法.

bindService 绑定服务 , 生命周期: onCreate -> onBind 服务正在运行了.

unbindService 解绑服务. 生命周期: onUnbind -> onDestory 服务被销毁了.

调用服务中的方法:

远程服务调用:
IPC: intel-process communication 因特尔进程间通信.
AIDL android interface dinfiend language 安卓接口声明语言. 不允许接收修饰词.

混合开启服务方式: 开启一次服务, 服务就一直在后台运行. 别人过来绑定就可以随便使用, 解绑之后也不会把服务关闭掉.

startService 服务在后台运行

捕鱼达人: 绑定, 付钱, 解绑
植物大战僵尸: 绑定, 付钱, 解绑
找你妹: 绑定, 付钱, 解绑
.......

在工作中, 如果写一个服务, 需要被别人调用, 并且还需要长期在后台运行. 就采用混合开启服务的方式运行服务.

以上是关于Service 的两种开启方式的主要内容,如果未能解决你的问题,请参考以下文章

android 启动service的两种方式有啥不同

Android Service的两种启动方式

Service 服务发现的两种方式-通过案例来理解

Service 理解和两种启动方式

spring cloud feign调用service的两种POST传值方式

spring cloud feign调用service的两种POST传值方式