• 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 点赞

    送❤

  • 相关阅读:
    Keil MDK中单个c文件生成LIB文件
    STM32标准外设库、 HAL库、LL库
    STM32CubeMX介绍、下载与安装
    static关键字的总结
    Qt中 QString 转 char*
    字符串(string)与整型(int)、浮点型(float)等之间的转换
    RF相关知识
    Qt4问题集锦
    Qt4程序在windows平台下打包发布
    (81)Client、Server通信模式和P2P通信模式的区别
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11932541.html
Copyright © 2020-2023  润新知