Android开发之service浅谈

本文介绍了Android中的Service概念,包括其启动方式、生命周期管理及进程间通信原理。Service可以在后台执行长时间运行的操作,而不依赖于用户界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.何为service
     服务就是运行在后台的一段代码。它可以运行在自己的线程中,也可以运行在其他应用程序的上下文中,其他的组件可以绑定到一个服务上面,通过远程调运PRC来实现的(下面会详细说明),
二。如何使用服务
    第一种是通过调用Context.startServece()启动,调用Context.stoptService()结束,startService()可以传递参数给Service。
    第二种方式是通过调用Context.bindService()启动,调用Context.unbindService()结束,还可以通过ServiceConnection 访问Service。二者可以混合使用,比如说我可以先   startServece()再unbindService()。
Service的生命周期
  startService()后,即使调用startService()的进程结束了,Service 仍然还存在,知道有进程调用stoptService(),或者Service 自己自杀(stopSelf())就没法了
 bindService()后,Service 就和调用bindService()的进程同生共死,也就是说当调用bindService()的进程死了,那么它bind 的Service 也要跟着被结束,当然期间也可以调用unbindService()让Service 结束
 两种方式混合使用时,比如说你startService()了,我bindService()了,那么只有你stoptService()了而
且我也unbindService()了,这个Service 才会被结束。
  下面来重点说一下service的远程调用
     Android平台中,各个组件运行在自己的进程中,它们之间是不能相互访问的,但是在程序之间不可避免避免的要传递一些对象,在进程之间相互通信。为实现进程之间的通信,Android采用了一种轻量级的实现方式PRC(Remote Procedure Call,远程进程调用)来实现进程之间的通信,并且Android通过接口定义语言(Android Interface Definition  Language AIDL)来生成两个进程之相互访问的代码
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值