四大组件之Service

本文详细介绍了Android中的Service组件,包括基本概念、启动与绑定方式、前台Service、IntentService以及远程Service。Service主要用于后台执行任务,无用户界面。它可以被启动或绑定,启动Service在后台长时间运行,而绑定Service则允许与外部组件通信。前台Service通过通知提高优先级,IntentService则提供异步处理请求的解决方案。远程Service涉及跨进程通信,利用AIDL实现。
摘要由CSDN通过智能技术生成

一、service基本概念

Service(服务)是一种计算型组件,用于在后台执行一系列计算任务,主要处理一些需要在后台长期运行的任务或耗时较长的操作,无用户界面。由于Service组件工作在后台,故用户无法直接感知它的存在。

Service组件和 Activity组件略有不同,Activity组件只有一种运行模式,即Activity处于启动状,但Service组件却有两种状态:启动状态和绑定状态。

当Service组件处于启动状态时,这个时候Service内部可以做一些后台计算,并不需要和外界有直接交互。尽管Service组件是用于执行后台计算的,但它本身是运行在主线程中的,因此耗时的后台计算仍然需要在单独的线程中去完成。

当Service组件处于绑定状态时,这个时候Service内部同样可以进行后台计算,但是处于这种状态下的Service可以很方便的和外界进行通信。Service组件也可以停止,停止一个Service需要灵活的采用stopService和unBinderService两个方法才能完全的停止Service组件。

服务并不是运行在一个独立的进程当中的,而是依赖于创建服务时所在的应用程序进程。当某个应用程序进程被杀掉时,所有依赖于该进程的服务也会停止运行。这是Android中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务。

二、Service的基本用法

作为四大组件,需要在AndroidManifest.xml中的<application>节点下配置<service>。新建一个Service类子类(或继承一个已有Service的子类)。重写一些重要的回调方法

·onCreate()

当服务第一次创建时调用,用于执行服务的一些一次性配置工作,如果之前已经系统调用过onStartCommand()或onBind()了,即服务已经运行了,该方法不会再被系统调用,也就是Service的onCreate()方法在一个生命周期内只会调用一次,无论后续启动它多少次。

·onStartComman

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值