前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android:Service生命周期最全面解析

Android:Service生命周期最全面解析

作者头像
Carson.Ho
发布2019-02-22 10:29:37
5.1K0
发布2019-02-22 10:29:37
举报
文章被收录于专栏:Android知识分享Android知识分享

前言

  • Service作为Android四大组件之一,应用非常广泛
  • 本文将介绍Service最基础的知识:Service的生命周期

如果你对Service还未了解,建议先阅读我写的文章: Android四大组件:Service史上最全面解析


目录

目录
目录

1. 生命周期常用方法

在Service的生命周期里,常用的有:

  • 4个手动调用的方法

手动调用方法

作用

startService()

启动服务

stopService()

关闭服务

bindService()

绑定服务

unbindService()

解绑服务

  • 5个内部自动调用的方法

内部自动调用的方法

作用

onCreat()

创建服务

onStartCommand()

开始服务

onDestroy()

销毁服务

onBind()

绑定服务

onUnbind()

解绑服务


2. 生命周期方法具体介绍

主要介绍内部调用方法和外部调用方法的关系。

2.1 startService()

  • 作用:启动Service服务
  • 手动调用startService()后,自动调用内部方法:onCreate()、onStartCommand()
  • 调用逻辑如下:
调用逻辑
调用逻辑

2.2 stopService()

  • 作用:关闭Service服务
  • 手动调用stopService()后,自动调用内部方法:onDestory()
  • 调用的逻辑:
调用逻辑
调用逻辑

2.3 bindService()

  • 作用:绑定Service服务
  • 手动调用bindService()后,自动调用内部方法:onCreate()、onBind()
  • 调用的逻辑:
调用的逻辑
调用的逻辑

2.4 unbindService()

  • 作用:解绑Service服务
  • 手动调用unbindService()后,自动调用内部方法:onCreate()、onBind()、onDestory()
  • 调用的逻辑:
调用的逻辑
调用的逻辑

3. 常见的生命周期使用

3.1 只使用startService启动服务的生命周期

startService启动服务的生命周期
startService启动服务的生命周期

3.2 只使用BindService绑定服务的生命周期

BindService绑定服务的生命周期
BindService绑定服务的生命周期

3.3 同时使用startService()启动服务、BindService()绑定服务的生命周期

Paste_Image.png
Paste_Image.png

3.4 特别注意

  • startService()和stopService()只能开启和关闭Service,无法操作Service; bindService()和unbindService()可以操作Service
  • startService开启的Service,调用者退出后Service仍然存在; BindService开启的Service,调用者退出后,Service随着调用者销毁。

4. 总结

  • 本文对Service的生命周期进行了全面解析
  • 接下来会介绍继续介绍Android开发中的相关知识,有兴趣可以继续关注Carson_Ho的安卓开发笔记

请点赞!因为你们的赞同/鼓励是我写作的最大动力!
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目录
  • 1. 生命周期常用方法
  • 2. 生命周期方法具体介绍
    • 2.1 startService()
      • 2.2 stopService()
        • 2.3 bindService()
          • 2.4 unbindService()
            • 3.1 只使用startService启动服务的生命周期
            • 3.2 只使用BindService绑定服务的生命周期
            • 3.3 同时使用startService()启动服务、BindService()绑定服务的生命周期
            • 3.4 特别注意
        • 3. 常见的生命周期使用
        • 4. 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档