Android Service学习篇一:Service详解

一、什么是Service?

       四大组件之一的Service组件,就是android系统中的服务,在应用中是没有界面的,只能在后台运行,并且可以和其他的组件进行交互。

       它有这么几个特点:1. 它无法与用户直接进行交互、必须由用户或者其他程序显示的启动;2. 它比处于前台的应用优先级低,但比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率较小。

二、什么时候需要使用Service?

       比如,后台播放音乐、后台下载、检测SD卡上文件的变化、记录当前的地理信息位置的改变等等。简单来说,就是当某些操作不需要用户与之进行交互,但又需要持续执行的时候,我们就可以使用Service来满足需求。

三、Service可以分为哪几类?

       一般来说,我们可以把Service分成本地Service和远程Service两大类:

       本地Service,指的就是和当前应用存在于同一个进程当中的Service,它们彼此之间拥有共同的内存区域,能够方便简单地共享某些数据。

       远程Service,主要指的是不同进程之间的Service访问。由于android系统的安全问题导致了我们在不同的进程之间是无法使用一般的方式进行数据共享的,所以在这里,我们需要用到一个由android为我们提供的一个叫做AIDL的工具。(AIDL全名叫做Android Interface Description Language,android接口描述语言,在后面会进行具体介绍)。

四、Service的生命周期:

如下图:

Android Service学习篇一:Service详解

由图可见,要启动一个Service,我们有startService和bindService两种方式。

那么如何实现一个Service呢?

主要有以下两个步骤:

       1. 创建一个类继承android.app.Service类,实现其抽象方法,并重写onStartCommand和onDestory方法。

       2.在AndroidMainfest.xml中对这个Service进行配置。

接下来介绍的就是如何来使用我们的Service。

第一种,startService
第二种,bindService

你可能感兴趣的:(android,service)