Service作为Android四大组件

  • Service
  • Activity
  • ContentProvider
  • BroadcastReceiver

之一,应用非常广泛,和Activity一样,Service也有一系列的生命周期回调函数。


1.生命周期流程图:


  • onCreate():
    首次创建服务时,系统将调用此方法。如果服务已经运行,则不会调用此方法,该方法只调用一次。

  • onStartCommand():
    当另一个组件通过调用starService()请求启动服务时,系统将调用此方法。

  • onDestroy():
    当服务不在使用且将被销毁时,系统将调用此方法。

  • onBind():
    当另一个组件通过调用bindService()与服务绑定时,系统将调用此方法。

  • onUnbind():
    当另一个组件 通过调用unbindService()与服务解绑时,系统将调用此方法。

  • onRebind():
    当旧的组件与服务解绑后,另一个新的组件与服务绑定时,onUnbind()返回true时,系统将调用此方法。

2.生命周期方法

在Service的生命周期中,常用的方法有:

  • 手动调用的方法:
手动调用的方法 作用
startService() 启动服务
stopService() 关闭服务
bindService() 绑定服务
unbindService() 解绑服务
  • 自动调用的方法
自动调用方法 作用
onCreat() 创建服务
onStartCommand() 开始服务
onDestroy() 销毁服务
onBind() 绑定服务
onUnbind() 解绑服务

3.生命周期的调用

  1. 启动Service服务
    单次:startService()->onCreate()->onStartCommand()
    多次:startService()->onCreate()->onStartCommand()->onStartCommand()
  2. 停止Service服务
    stopService() —> onDestroy()
  3. 绑定Service服务
    bindService() —> onCreate() —> onBind()
  4. 解绑Service服务
    unbindService() —> onUnbind() —> onDestroy()
  5. 启动绑定Service服务
    startService() —> onCreate() —> onStartCommand() —> bindService() —> onBind()
  6. 解绑停止Service服务
    unbindService() —> onUnbind() —> stopService() —> onDestroy()
  7. 解绑绑定Service服务
    unbindService() —> onUnbind(ture) —> bindService() —> onRebind()

参考资料

Android中service的生命周期相关推荐

  1. android 英语论文,Android中Activity的生命周期英语论文+译文.doc

    Android中Activity的生命周期英语论文译文 北方民族大学 英文文献翻译 论文题目: Android环境及Activity介绍 院(部)名 称: 计算机科学与工程学院 学 生 姓 名: 陈 ...

  2. 18_Android中Service的生命周期,远程服务,绑定远程服务,aidl服务调用,综合服务案例,编写一个应用程序调用远程支付宝远程服务场景

    ============================================================================ 服务的生命周期: 一.采用start的方式开始 ...

  3. android中应用程序生命周期,Android应用程序生命周期中的活动和图标

    面向大众的移动技术,第3部分 为您的Android移动应用程序添加导航样式 安德鲁·格洛弗 2013年7月25日发布 面向大众的移动技术 请期待本系列的后续内容. 请期待本系列的后续内容. 近年来,移 ...

  4. 【android】android中activity的生命周期

    activity生命周期: 实例代码: 1 public class DemoActivity extends Activity { 2 3 //1.activity第一次被创建的时候,执行 4 @O ...

  5. Android 中 Activity 的生命周期

    接触 Android 有一段时间了,但是今天才去看 Activity 的生命周期,着实是因为在项目中用到了,需要去关闭释放一些数据. 以下内容来自网络,说的很直白,我就不用整理了 onCreate() ...

  6. Android中activity的生命周期

    1.通常activity可能的三种基本状态 Resumed(运行状态) activity在屏幕的前台并且拥有用户的焦点(或者称为running状态). Paused(挂起状态) 另一个activity ...

  7. android 生命周期流程图,Android Studio ——Service的生命周期

    原文链接:http://mobile.51cto.com/android-315622.htm 前两节中可以看到Activity和Service,context.startService对应着Serv ...

  8. android启动服务的生命周期,android Service启动运行服务 生命周期

    Service Android中的service类似于windows中的service,service一般没有用户操作界面,它运行于系统中不容易被用户发觉, 可以使用它开发如监控之类的程序. 一.步骤 ...

  9. 【Android】Android Service的生命周期

    Managing the Lifecycle of a Service 原文来自: http://www.cnblogs.com/mengdd/archive/2013/03/24/2979944.h ...

最新文章

  1. Tableau 2020.3 发布!新增 写入外部数据库 与 预测建模 等功能,进一步增强扩展分析
  2. Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)...
  3. 【plupload】单易用且功能强大的上传组件
  4. 设计模式之Observer(观察者)模式
  5. oracle字段去重查询,oracle怎么去重查询
  6. 判断浏览器是否支持websocket的方法
  7. 【java】编写一个圆柱体类Cylinder,它继承于Circle类
  8. pycharm中配置Git教程
  9. 程序员教程第五版笔记
  10. bat脚本打开刷新网页
  11. 使用secureCRT运行VBScript脚本,自动执行操作教程
  12. 即将“再次”免费的JDK
  13. 怎么用html制作3D页面,html – 如何使用CSS制作图像3D
  14. 迅雷 linux 命令行 版本号,linux下完美运行迅雷5.8.9.662
  15. view的superview的变换
  16. 打雪仗java_【UER #8】打雪仗 - 题目 - Universal Online Judge
  17. 获取微信公众号历史文章列表页链接
  18. Tortoisegit 远端版本回退
  19. glibc 知:手册21:日期和时间
  20. 读写偏斜现象的初学者指南

热门文章

  1. php验证码完整功能,用PHP实现验证码功能
  2. 电脑管家pc版离线包_王国统治电脑版下载_王国统治游戏pc版下载[策略经营]
  3. jQuery实现照片墙,附步骤详解
  4. topcoder srm 686 div1 -3
  5. java----动态绑定
  6. spring cloud简介之最好参考
  7. [virtualbox] win10与centos共享目录下,nginx访问问题
  8. Xamarin开发Android---提示、跳转、传递数值 (学习总结)
  9. System Verilog自学笔记专栏概述博文目录
  10. php是视频还是图片格式,php 视频、音频和图片文件上传,该如何解决