Service的两种启动方式及其之间的区别

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

作为Android四大组价之一的Service,可以在很多场合中进行应用。比如当在播放音频的时候用户启动了其他Activity,这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,或者在后台记录用户地理位置信息的变化等等。开启Service主要有两种方式。

(1)startService();此种开启方式Service会经历onCreate()--onStart()。若Service还没运行,则先调用onCreate(),然后调用onStart();如果Service已经启动,则只会调用onStart()。一个Service的onStart()方法可以被调用多次。stopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。

注:多次调用startService()方法并不会嵌套,所以无论同一个服务被启动了多少次,一旦调用stopService()或者sopSelf(),他都会立刻停止。

(2)bindService():此种启动方式Service会经历onCreate()--onBind(),onBind将会返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service的运行状态等。这个时候调用者会和Service绑定在一起,调用者退出的时候,Service就会调用onUnbind--onDestroy退出。

Activity 启动Service两种方式与区别 Activity 启动Service两种方式: startService bindService   startService(Intent): 1.定义个类继承Service 2.在Manifest.xml文件中配置该Service 3.使用Context的startService(Intent)方法启动Service 4.不再使用时,调用stopService(Intent)方法... 阅读详情

相关推荐

Android 服务两种启动方式区别

前言:苦逼的野生程序员最近在找工作,跑了各种校园招聘。仍然没有找到Android方面的工作。哎,说多了都是泪啊,进入正题吧。今天笔试题有问到Android中Service两种启动停止方式有什么不同。所以特地来总结Service的知识。 Service是Android四大组件之,也是可执行的程序,有自己的生命周期。创建、配置Service创建、配置Activity的过程相似。Activ...

weixin_43901866的博客 1615

Service两种启动方式区别

启动方式startService(Intent)启动服务 生命周期方法流程:onCreate --- > onStartCommand 关闭服务:stopService(Intent)关闭服务 生命周期方法流程 :onDestory第二种启动方式bindService(Intent , ServiceConnection , flag)启动服务 生命周期方法流程:onCreate ...

ding_GC的博客 8462

常见Android面试题及答案(详细整理)

对于Android的学习,很多⼈可能学了之后,不知道⾃⼰处于哪个阶段,也不到究竟要学到哪个程度,验证⾃⼰学得如何最好的⾯试,就是尝试去⾯试,⽽⾯试⽆⾮就是问你⼀些⾯试题。所以呢,小编整理了这些 Android ⾯试题,从 Java 基础,并发,虚拟机到Android Framework,开源框架,性能优化,并且附带了详细的答案,⽆论是想⾯试还是想看看⾃⼰学得如何,那么这份⾯试题,都值得你去学习。答: 如下图所示。

Android 开发架构 1万+

Service两种启动方式区别

Service启动方式startService 生命周期:oncreate——>onstartCommand——>onDestroy;多次通过该方法启动Service,oncreate函数只会被调用次,onStartCommand函数会被多次调用,但只需要调用次stopService就可以销毁该Service; 特点说明:通过该启动方式启动ServiceService启动

qq_30261075的博客 2956

服务两种启动方式startServicebindService)的区别

综上两篇文章 1.Android Service的基本用法(startService启动方式生命周期) 2.Android Service与Activity之间的通信(bindService启动方式区别如下: .生命周期上的区别 startService启动服务:Service会经历onCreate()------->onStartCommand()。当执行stopService时,直...

计蒙不吃鱼的博客 2万+

android Service总结

创建Service两种方式         1.通过Context的startServive()方法:访问者与Service之间没有关联,即使访问者退出了,Service仍然运行。         2.通过Context的bindService()方法:使用该方法启动Service,访问者与Service绑定在起,访问者旦退出,Service也就终止。 如果某个程序组件需要在运行时向用

sph123s的博客 409

android组件之Service

Service作为android四大组件之,在开发中是相当重要的。   Service(服务)是能够在后台执行耗时操作且不提供用户界面的应用程序组件,其他应用程序能启动服务,并且即便是用户切换到另个应用程序时,服务还可以在后台运行。此外Service还可以与其他主键绑定并与之交互。后台播放音乐是最典型的列子。 Service生命周期:

Tom_xiaoxie的博客 475

Android知识点复习2(Service)

Service 1 .个人对Service的理解: 在最底层的个透明activity,看不到摸不着的个activity,而且还是主线程,般来说用来操作些耗时的任务,或者是执行长期运行的任务(需要开启副线程,下载任务,边播边缓存等)。 2.Service两种启动方式startService: 这种启动方式直在后台运行,直到你手动结束它stopService。(个人般用这种来做...

weixin_34319640的博客 101

Android进阶之(Service详解

开发Android已经有段时间了,反过来再看四大组件的时候又有不样的理解,以前只是知道书本上的理论知识,当真正结合实战,你会对之认识更为深刻,当走到这里的时候,我是不是也在进阶高级程序猿了^_^!照样上张面试跟书本上经常出现的Service生命周期的图片。 如果我问Service启动方式有哪些,想必大家都能很快的回答出来: 1、startService(); 2、bindServi

vv_bug 1124

Android菜鸟的成长笔记(18)——绑定本地Service并与之通信

在上篇中介绍了Service与Activity的区别Service两种启动方式中的启动方式startService().我们会发现用startService()、stopService()方法启动关闭Service时,Service与访问者之间基本上不存在太多的关联,因此Service访问者之间也无法进行通信数据交换。如果要实现Service与Activity之间的通信就要...

weixin_34129696的博客 68

Android学习笔记之Service的 学习

1.Service简介

u011330030的专栏 622

Android四大组件之 Service

    Service简介         Service是运行在后台的,没有界面的,用来处理耗时比较长的。Service不是个单独的进程,不是个单独的线程。         Service两种类型: 本地服务(Local Service):用于应用程序内部 远程服务(Remote Sercie):用于android系统内部的应用程序之间               前

andy_android的专栏 3277

清单文件中android support,1.4 清单文件中的Service

清单文件中的Serviceservice个可以在后台执行长时间操作不提供用户界面的组件。组件可以绑定service,与之交互,甚至进行进程间通信(IPC),例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这切均可在后台进行。般有两种方式启动服务:startService当组件通过startService方式启动服务的时候,Service即处于启动状态,...

weixin_31598511的博客 466

Android 中的服务初探

在很多情况下,些与用户很少需要产生交互的应用程序,我们般让它们在后台运行就行了,而且在它们运行期间我们仍然能运行其他的应用。为了处理这种后台进程,Android引入了Service的概念。Service在Android中是种长生命周期的组件,它不实现任何用户界面。最常见的例子如:媒体播放器程序,它可以在转到后台运行的时候仍然能保持播放歌曲;或者如文件下载程序,它可以在后台执行文件的下载。启动...

iteye_19930的博客 139

startServicebindService

2011-12-19 21:20187人阅读评论(0)收藏举报 Service的生命周期Service的生命周期方法比Activity少些,只有onCreate, onStart, onDestroy 我们有两种方式启动Service,他们对Service生命周期的影响是不样的。 1 通过startService Service会经...

weixin_30788731的博客 75

Service两种启动方式区别

参数 Service启动的服务程序的名称该方法会调用 Service 中的 onCreate() onStartCommand() 方法来启动个后台 Service,当 Service 销毁时直接调用 onDestroy() 方法 参数 service 是定义要绑定的服务程序的名称conn是当服务程序启动停止时,负责接收信息的接口程序flags是设置绑定的选项,可以是0、BIND_AUTO_ CREATE、BIND_DEBUG_UNBIND、BIND_NOT_FOREGROUND、BIND

Ai1114的博客 2万+

Android中Service两种启动方式区别

参考:https://www.jianshu.com/p/2fb6eb14fdec Service是Android四大组件之,也是可执行的程序,有自己的生命周期。创建、配置Service创建、配置Activity的过程相似。Activity样,都是从Context派生出来的。 ---《疯狂android讲义(第二版)》 1、Service启动方式 start方式: 使用步骤: 1....

Virgil_K2017的博客 2198

Android中Service两种启动方式区别与适用场景

Service 作为Android中四大组件之,日常开发中经常会使用到,本文主要讲解Service两种启动方式,以及两种启动方式区别,生命周期,以及适用的场景。 Service是运行在主线程上的,是要依托android程序运行的,所以不能做耗时操作。 分别有两种启动方式startService()种是bindService()两种启动方式的生命周期不同: 1、startService() 的生命周期 :onCreate() -> onStartCommand() (.

Anne_Wei的专栏 4588

图解Service两种启动方式

图解Service两种启动方式 众所周知,Service两种启动方式 . . . .在新进程启动Service 在新进程启动Service共分为5个步骤: step1: App向AMS发送启动Service的消息,从AIDL视角看是这个样子的: 图中client代表了App端,APP通过AMN/AMP将要启动service信息发送给了AMS。 Step2: AMS检查Service...

小王的学习blog 1407
上一篇: 如何安全退出已调用多个Activity的Application?
下一篇: Serializable与Parcelable的使用方法及区别
SiennaKong
博客等级 码龄11年 1粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值