Service详解

1、service基础

1)是什么?

Service是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。service里不可做耗时操作

2)和thread的区别

a. 定义

service没有thread独立,service依附于所在主线程。

后台:不依赖于界面操作

thread:程序执行的最小单元,分配cpu的基本单位

当你需要执行耗时网络,文件数据查询或者其他阻塞Ui线程的时候需要开个子线程;

播放音乐,开启天气预报的统计之类会用到services。


2、service启动方式

1>以调用Context.startService()启动,调用Context.stopService()结束

生命周期方法:

onBind() ——绑定服务时才会调用,必须实现的方法。返回IBinder接口

onCreate()——首次创建时,只会被调用一次 

onStartCommand()——每次通过startService方法启动service时都会调用。返回值是int,

 onDestroy()——服务销毁是会被调用

2>调用Context.bindService()方法建立,调用unbindService()关闭。

1)创建BindService服务端,继承自Service并在类中,创建一个实现IBinder接口的实例对象并提供公共方法给客户端调用

2)从onBind()回调方法返回次Binder实例。

3)在客户端中,从onServiceConeced()回调方法接收Binder,并使用提供的方法调用绑定服务。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上篇我们讲解了Android中的5中等级的进程,分别是:前台进程、可见进程、服务进程、后台进程、空进程。系统会按照...
    徐爱卿阅读 9,267评论 6 33
  • 一、Service简介 Service是Android程序中四大基础组件之一,是在后台运行的组件。 Service...
    提升即效率阅读 4,381评论 0 1
  • 这篇文章主要是讲解Service 前言:Service非常适用于去执行那些不需要和用户交互而且还要长期运行在后台的...
    李庆雪阅读 11,093评论 2 7
  • 什么是Service 先看一下google官方的介绍: Service是一个可以在后台执行长时间运行操作而不提供用...
    Cris_Ma阅读 4,166评论 0 0
  • 在写今天这篇文章前把之前的文章通读一遍。这里又偷懒半个月没有去做好写作记录这一件事情。我之前的文章都写得很清楚,我...
    小伟小伟小伟阅读 2,755评论 0 0