Android Service

学习Service相关知识点:

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

service基础

概述:

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

service到底是什么?

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

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

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

service和Thread的区别

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

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

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

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

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

转载于:https://www.cnblogs.com/dashucoding/p/9440424.html

Android Service用法知识点的讲解相关推荐

  1. Android Service的onStartCommand返回值用法

    2019独角兽企业重金招聘Python工程师标准>>> Android Service的onStartCommand返回值用法 本文目的:使读者快速理解 1.START_STICKY ...

  2. 大疆Android SDK API知识点讲解及课程最终demo展示

    大疆Android SDK API知识点讲解及课程最终demo展示 大疆Android SDK课程--主要讲解Android开发环境的搭建.如何连接无人机.获取摄像头信息以及如何导入高德地图到APP当 ...

  3. 【Android】 Android Service生命周期及用法

    原文来自: 首先我们要知道Service具体是干什么的,什么时候用到?以及它的生命周期等. Service概念及用途: Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己 ...

  4. Android Service完全解析,关于服务你所需知道的一切(下)

    转载请注册出处:http://blog.csdn.net/guolin_blog/article/details/9797169 在上一篇文章中,我们学习了Android Service相关的许多重要 ...

  5. Android Service完全解析,关于服务你所需知道的一切(上)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952435 相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的A ...

  6. 【Android 面试基础知识点整理】

    针对Android面试中常见的一些知识点整理,Max 仅仅是个搬运工.感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章.对于当中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正 ...

  7. android 浏览器源码分析,从源码出发深入理解 Android Service

    原标题:从源码出发深入理解 Android Service 原文链接: 建议在浏览器上打开,删除了大量代码细节,:) 本文是 Android 系统学习系列文章中的第三章节的内容,介绍了 Android ...

  8. Android Service 服务(二)—— BroadcastReceiver

    一. BroadcastReceiver简介 BroadcastReceiver,用于异步接收广播Intent,广播Intent是通过调用Context.sendBroadcast()发送.Broad ...

  9. 【Android】Android Service 服务

    参考网址:http://blog.csdn.net/ithomer/article/details/7364024 一. Service简介 Service是android 系统中的四大组件之一(Ac ...

  10. android中Adapter适配器的讲解

    android中Adapter适配器的讲解 Adapter(适配器的讲解) 适配器就我自己来看,我觉得这是一个非常重要的知识点,Adapter是用来帮助填出数据的中间桥梁,简单点说吧:将各种数据以合适 ...

最新文章

  1. DNN和IBatis.Net几乎同时发布新版本
  2. IAR for msp430 MDK中 warning: #223-D: function xxx declared implicitly 解决方法
  3. phpcms v9 实现外部栏目链接在新窗口打开
  4. 使用Keil MDK以及标准外设库创建STM32工程
  5. VS2012+Win7网站发布详细步骤
  6. Python实现批量导入Markdown文件到WordPress(博客搬家工具,代码已开源)
  7. Axios 二次封装(超详细)
  8. 小程序中如何引用阿里图标
  9. 3D建模电脑配置推荐(收藏)
  10. 手机上什么App能连接mysql_这款APP让你的手机瞬间变身服务器,php+mysql,太硬核了!...
  11. Alios-Things之wifi模块二次开发-(1)搭建Alios-Things开发环境(基于ubuntu 16.0.4)
  12. 请教刷机教程9008线刷
  13. 如何在Vue中使用lottie加载SVG动画
  14. 搭建react + typescript + airbnb eslint 项目
  15. js距离单位换算_js实现单位互换px/cm/mm篇
  16. 【机器学习】一文读懂正则化与LASSO回归,Ridge回归
  17. VS2017设置DLL和LIB的输出目录
  18. avr单片机c语言 右移,AVR左移右移递增减流水灯
  19. ERROR2002 can not connect to lcoal Mysql Server throuth socket '/tmp/mysql.sock'
  20. 【linux 上批量下载amazon s3数据】

热门文章

  1. linux强制获得锁,Linux中的两种文件锁——协同锁与强制锁
  2. 合并账号_亚马逊账号最新死法:合并listing和折扣促销
  3. html视频播放快进按钮,【浏览器插件】Video Speed Controller – 网页视频倍速、快进、回放功能0.07~16 倍...
  4. Keras验证集切分
  5. 计算机视觉方面的数据集收藏(CV Datasets on the web)
  6. python开发技术文档范文_常用python编程模板汇总
  7. python初学入门教程_python初学者怎么入门|python基础教程|python入门|python教程
  8. 插入附件 文件名显示不全_批量插入、提取图片,这几招要会掌握
  9. DevOps使用教程 华为云(17)git 比较2个分支版本的差异 某个具体文件的差异
  10. FISCO BCOS共识优化之路