Android核心组件之Service
来源:互联网 发布:为什么开不了淘宝店 编辑:程序博客网 时间:2024/06/01 20:59
对于初学者来说,Service相对于Activity和ContentProvider有一定难度,这里我们讲一下Service的使用。Service可以看做是一个没有界面的Activity。平时我们就可以发现,即使我们的手机界面离开了音乐播放器的界面,但是正在播放的歌曲并不会停止。这就是由于我们的Service在后台继续运行,为我们提供服务。有了Service我们就可以在听音乐的同时继续做其它的事情。
服务运行在后台,不可与用户交互,也不可以自己启动,需要其它的context执行startService()开始服务或者执行bindService()开启服务。另外在每次启动Service时都要执行onCreate()方法,在结束时都需要执行onDestroy()方法。这就是Service的生命周期的一个重要的特点。
1.startService()方法生命周期
如果通过startService()方法启动服务,则它的生命周期如下:
onCreate-->onStart()-->onDestroy()
这就是一个服务完整的生命流程,如果服务开启以后,再次开启则不会进入onCreate()方法,而是直接调用onStart()方法。
2.bindService()方法生命周期
如果通过bindService()方法启动服务,则其声明如下:
onCreate()--->onBind()--->onunbind()--->onDestroy()
这种方法也一样,开始的时候必须先执行onCreate()方法,接着再执行onBind()方法进行绑定。当服务结束的时候,首先执行onUnbind()方法解除绑定,然后再执行onDestroy()方法销毁服务。
如下是两种开启服务的方法:
通过bindService()方法启动的服务,调用者于服务绑定在了一起。调用者一旦退出,服务也会相应的停止运行。而通过startService()方法就比较灵活一点,调用者的销毁,并不会影响服务的正常运行,知道Service运行到自己的stopSelf()方法,或者是气他组件显示地调用stopService()方法,服务才会停止。我们可以根据自己的需求,来选择一种比较适合的开启服务的方法。
以上所说的是Android Service中的本地服务,本地服务就是指应用程序内部的服务,而远程服务则是指通过IPC机制进行进程间通信的服务,这里我们就不做介绍了。
- Android核心组件之Service
- Android核心组件之Service
- Android四大核心组件之Service
- Android四大核心组件之Service:服务
- 核心组件之service
- Android核心基础-11.Android四大组件之Service
- Android 四大核心组件之Service(1) 学习心得
- 【Android基础】(2)四大核心组件之Service
- Android四大核心组件之Service|AIDL使用详解
- android组件之Service
- Android之Service组件
- Android组件之 Service
- Android组件之Service
- android组件之service
- Android组件之Service
- Android组件之Service
- android组件之Service
- 深入浅出 Android核心组件Service(4)
- 第一行代码3.3-详解四种基本布局
- centos 6.3 64 编译gcc-4.8.2 bits/c++config.h: No such file or directory
- 排序四之插入排序
- 如何配置log4j2日志记录至数据库
- 正式开启CSDN第一天
- Android核心组件之Service
- iOS系统版本比较的宏使用
- Java实现对文件做压缩和解压缩(一般用于文件批量导入导出)
- SSH项目开发里用maven的好处
- linux系统重启oracle
- Map集合中嵌套list
- 映射请求参数、请求方法或请求头
- python调用java 登陆weblogic
- Redis3.0集群完全版(数据迁移问题)