• Android Service用法知识点的讲解


    标题图

    Android Service

    学习Service相关知识点:

    android service 的基础知识,生命周期,service分类,运行地点(本地服务,远程服务),运行类型(前台服务,后台服务),功能(可通信与不可通信)。serviceThread的区别。

    Android Service.png

    service基础

    概述:

    AndroidService是一个在后台执行长时间运行操作,而不需要和用户交互的应用程序组件。主要是用来后台处理网络事务,播放音乐,执行文件操作和content provider进行交互等。

    Service 基础.png

    service到底是什么?

    service作为Android的四大组件之一,程序退出的时候,仍能在后台服务,即保活。在后台执行一系列计算任务,耗时的操作建议在单独的线程中执行。

    服务时一种可以在后台长时间的运行,没有用界面的应用组件,即是activity被销毁也不会受到影响,service运行在主线程当中,不能做长时间的运行操作。

    service不能做耗时操作,无用户界面,生命周期长,并在后台运行。本地服务运行在主线程中,主线程停止,服务则停止,远程服务,不受activity的影响;前台服务,用户可见,后台服务,用户不可见,前台被终止,用户知道,后台用户则无法知道;可通信的后台服务,两种启动模式,随着调用者退出而销毁服务,不可通信,即使调用者退出,service也在。

    service和Thread的区别

    Thread开启子线程,在其耗时操作,耗时操作可以开启线程来完成,Thread是程序的最小单元,service运行时在主线程上,不能耗时操作,相比Threadservice并不是那么独立。

    service和Thread.png

    对于,Service服务的分两种类:

    启动状态:通过startService(),绑定状态:通过bindService()(英文理解:开启服务,绑定服务)。

    startservice.png

    Call to startService -> onCreate() -> onStartCommand() -> Service running -> onDestroy()

    bindService.png

    Call to bindService() -> onCreate() -> onBind() -> onUnbind() -> onDestroy()

    service的工作流程

    Service的工作过程

    生命周期

    这两种服务各有各的特色。不过在理解之前,先看看它们的生命周期情况(图片来源于官方):

    生命周期

    onCreate():创建时调用
    onStartCommand():启动时调用
    onBind():被绑定时调用
    onUnbind():被解绑时调用
    onDestroy():停止时调用
    

    startService()
    stopService()
    bindService()
    unbindService()

    onCreate() -> onStartCommand() -> onDestroy()
    onCreate() -> onBind() -> onUnbind() -> onDestroy()

    结语

    • 本文主要讲解 Android Service用法知识点的讲解

    • 下面我将继续对Java、 Android中的其他知识 深入讲解 ,有兴趣可以继续关注

    • 小礼物走一走 or 点赞

    送❤

  • 相关阅读:
    atitit.TokenService v3 qb1 token服务模块的设计 新特性.docx
    Atitit attilax在自然语言处理领域的成果
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
    Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结
    atitit。企业的价值观 员工第一 vs 客户第一.docx
    Atitit 实现java的linq 以及与stream api的比较
    Atitit dsl exer v3 qb3 新特性
    Atititi tesseract使用总结
    Atitit 修改密码的功能流程设计 attilax总结
    atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
  • 原文地址:https://www.cnblogs.com/dashucoding/p/9440424.html
Copyright © 2020-2023  润新知