Android 五大基本组件之 Service 篇
2010-12-28 16:36
330 查看
把service的一些特性总结一下,基本知识就不介绍了.
1、主要在后台运行。
2、分两种类型:
remote和location(远程和本地)
区别:远程的可以用在不同进程间访问,通过aidl实现(aidl以后介绍),当访问的进程结束掉后,还可以在后台继续进行。
本地的是在同一个进程间访问,当访问的进程结束后一起关掉。
3、打开service的方法有两种:
一种:直接打开法:
通过startservice(Intent)这个方法打开,与之对应的是stopservice(Intent)这个方法关闭。
二种:通过bind的方法:
通过bindservice这个方法打开连接上service,与之对应该的是unbindservice这个方法断掉连接并关闭service.
需要注意的是:
(1)第一种方法只能打开service让它先运行起来,如果其它应用要使用他必须得bindService(Intent,ServiceConnection,int),然后再生成一个service的对象,就可以引用这个service对象里的方法了。
(2)如果用第一种方法打开,必须用stopservice关闭service,如果末调用stopservice,本地service有的时候应用程序虽然已经退出了,但是这个进程还末被系统回收,service还会运行,远程也需要自己关。
(3)如果第一种方法打开,每个应用想bind这个service时,需要掉用bindservice,如果不想连接了就只需要掉用
unbindservice,这个只是断开与service的连接,而service还在后台运行,此时过程中service在startservice
时调用oncreate()-->onstart(),在stopservice时调用onDestroy().
(4)如果service在bind之前末打开service,应用可以通过bindservice这个方法先打开service再连接service,
这就是上面说的第二种打开方法,这种方法在调用unbindservice时不但会断掉连接还会关闭service,此时过程中service在
bindservice时调用oncreate()-->onbind(),在unbindservice时调用
onunbind()--->onDestroy().
建议:
当有多处应用要访问一个远程的service时,可以先启动service在后台运行,然后在每一个应用中bind这个service,这样的话很方便,而且在应用程序中打开service也会快一点。
1、主要在后台运行。
2、分两种类型:
remote和location(远程和本地)
区别:远程的可以用在不同进程间访问,通过aidl实现(aidl以后介绍),当访问的进程结束掉后,还可以在后台继续进行。
本地的是在同一个进程间访问,当访问的进程结束后一起关掉。
3、打开service的方法有两种:
一种:直接打开法:
通过startservice(Intent)这个方法打开,与之对应的是stopservice(Intent)这个方法关闭。
二种:通过bind的方法:
通过bindservice这个方法打开连接上service,与之对应该的是unbindservice这个方法断掉连接并关闭service.
需要注意的是:
(1)第一种方法只能打开service让它先运行起来,如果其它应用要使用他必须得bindService(Intent,ServiceConnection,int),然后再生成一个service的对象,就可以引用这个service对象里的方法了。
(2)如果用第一种方法打开,必须用stopservice关闭service,如果末调用stopservice,本地service有的时候应用程序虽然已经退出了,但是这个进程还末被系统回收,service还会运行,远程也需要自己关。
(3)如果第一种方法打开,每个应用想bind这个service时,需要掉用bindservice,如果不想连接了就只需要掉用
unbindservice,这个只是断开与service的连接,而service还在后台运行,此时过程中service在startservice
时调用oncreate()-->onstart(),在stopservice时调用onDestroy().
(4)如果service在bind之前末打开service,应用可以通过bindservice这个方法先打开service再连接service,
这就是上面说的第二种打开方法,这种方法在调用unbindservice时不但会断掉连接还会关闭service,此时过程中service在
bindservice时调用oncreate()-->onbind(),在unbindservice时调用
onunbind()--->onDestroy().
建议:
当有多处应用要访问一个远程的service时,可以先启动service在后台运行,然后在每一个应用中bind这个service,这样的话很方便,而且在应用程序中打开service也会快一点。
相关文章推荐
- Android五大基本组件之一-----Service篇
- Android的五大基本组件
- Android五大基本组件之一-----Service篇
- 初识Android应用程序的五大基本组件
- android的四大组件、五大存储、六大布局、七大生命周期、八大基本数据类型
- Android应用程序的五大基本组件
- Android五大基本组件
- Android五大组件-Service
- 学习笔记:Android基本组件之Service
- Android四大基本组件-Service详解
- Android应用程序的五大基本组件
- Android的五大基本组件
- android 应用五大核心组件之一(service)
- Android【Service组件】【基本概念及使用】
- Android四大核心组件之一-----Service(服务)的基本知识
- Android 四大组件之Service的基本使用
- android基本组件 Service 简介
- Android 五大基本组件学习之 概述
- 【Android】四大基本组件——Activity、Service、ContentProvider和BroadcastReceive