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

前言


  • 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启动服务的生命周期

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

BindService绑定服务的生命周期

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

Paste_Image.png

3.4 特别注意

  • startService()和stopService()只能开启和关闭Service,无法操作Service; 

    bindService()和unbindService()可以操作Service

  • startService开启的Service,调用者退出后Service仍然存在; 
    BindService开启的Service,调用者退出后,Service随着调用者销毁。

4. 总结


请点赞!因为你们的赞同/鼓励是我写作的最大动力!

相关文章阅读 
Android开发:最全面、最易懂的Android屏幕适配解决方案 
Android开发:Handler异步通信机制全面解析(包含Looper、Message Queue) 
Android开发:最全面、最易懂的Webview详解 
Android开发:JSON简介及最全面解析方法! 
Android开发:顶部Tab导航栏实现(TabLayout+ViewPager+Fragment) 
Android开发:底部Tab菜单栏实现(FragmentTabHost+ViewPager)

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/80236754