说到Service,相信大家都听说过它,从我第一天接触android开始,就听闻过大名鼎鼎的service,但是具体怎么用,却是不知。最近的项目就用到了service。比如你想要在手机上一边玩游戏,一边听歌,让歌曲在后台自动播放,而不被系统干掉,就需要用到优先级比较高的service。

从网上和android SDK帮助文档上截取一段说明如下:

Service概念及用途:

Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,那我们什么时候会用到Service呢?比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我们就听不到歌了,所以这时候就得用到Service了,又比如当我们一个应用的数据是通过网络获取的,不同时间(一段时间)的数据是不同的这时候我们可以用Service在后台定时更新,而不用每打开应用的时候在去获取。

Service生命周期 :

Android Service的生命周期并不像Activity那么复杂,它只继承了onCreate(),onStartCommand(),onDestroy()三个方法,当我们第一次启动Service时,先后调用了onCreate(),onStartCommand()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStartCommand()方法,具体的可以看下面的实例。

Service与Activity通信:

Service后端的数据最终还是要呈现在前端Activity之上的,因为启动Service时,系统会重新开启一个新的进程,这就涉及到不同进程间通信的问题了(AIDL),不作过多描述,当我们想获取启动的Service实例时,我们可以用到bindService和onBindService方法,它们分别执行了Service中IBinder()和onUnbind()方法。

先做以上文字表述,代码后续跟上。

更多相关文章

  1. Android(安卓)Binder机制之 ServiceManager的启动
  2. Android—React Native编程
  3. 深入理解Android-Init理解
  4. Android(安卓)零散知识点整理
  5. 理解Android回调函数
  6. 《Android(安卓)Dev Guide》系列教程5:Android进程和线程
  7. 【Android(安卓)开发】:数据存储之 SQLite 数据库操作(一)
  8. Android(安卓)doc 之应用程序基础
  9. 用Xamarin 实现园友的 :Android浮动小球与开机自启动

随机推荐

  1. Android(安卓)动画详解
  2. Android获取应用程序信息——PackageMana
  3. 说一说Andorid的Context(上下文)
  4. Android(安卓)判断json格式, 将错误信息
  5. 字节跳动面试官:Android(安卓)中为什么需
  6. USB 功能简介
  7. 深入浅出Android事件分发机制:最全面最易
  8. Android每天10道面试题05
  9. 使用wifi连接手机在Android(安卓)Studio
  10. Android(安卓)重学系列 Activity生命周期