首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android四大组件Service详解

一、Service简介 Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件。...Service默认并不会运行在子线程中,它也不运行在一个独立的进程中,它同样执行在UI线程中,因此,不要在Service中执行耗时的操作,除非你在Service中创建了子线程来完成耗时操作。...二、Service生命周期 ?...bindService / unbindService 生命周期顺序:onCreate- onBind- onUnBind- onDestroy 同样首先是OnCreate(),接着是 OnBind() 当组件调用...OnUnbind() 当前组件调用unbindService(),想要解除与service的绑定时系统调用此方法(一次调用,一旦解除绑定后,下次再调用unbindService()会抛出异常)。

1K20

Android四大组件之一Service

Service是能够在后台长期运行并且不提供用户界面的应用程序组件。...Service可以分为以下两种类型: Started(启动):当Activity通过startService()方法启动服务时,服务处于started状态。一旦启动,就算组件被销毁也不会停止。...只有自身调用stopSelf()或者其他组件调用stopService()才停止 Bound(绑定):当Activity通过bindService()方法启动服务时,服务处于bound状态。...一个Service可以被多个服务绑定,当它们都解绑时,服务被销毁 Service类中的重要方法 onStartCommand():当组件调用startService()时,系统调用该方法。...如果开发人员实现该方法,需要调用stopSelf()或stopService()来停止服务 onBind():当组件调用bindService()时,系统调用该方法。

67730

Android组件化实例精讲(service注册方式)

接着上两篇文章中的组件化前奏,今天我们把组件化给整体串联起来形成一个简易的案例。 大纲: 1 如何让各个独立的组件在壳工程中可随意拿取访问? 2如何进行组件数据传递?...一 如何在壳中随意拿取组件 为了可随时拿取组件我们需要借助一个单例来统一管理这些组件----这样无论是壳中还是组件中均可以随意拿取各个组件进行交互 public class ServiceFactory...这就需要我们之前说的各个组件如何随壳工程一起启动啦 不是太了解的看之前的文章,我们直接上代码 此处需要分为两部分 1 组件启动的Application中注册 2 注册金组件中类为了解耦添加中间service...来注册进ServiceFactory,使用是通过service间接访问组件和完成数据传递 ①组件对应的Application public class LoginApplication extends...new LoginService()); } @Override public void initAppFinish() {//做一些基础的针对性的配置操作 }} ② 中间service

68940

Android四大组件完全解析(二)---Service

在研究service是什么时,先来看看service不是什么: - service不是一个单独的进程。除非特别说明,否则service不会运行在他自己的进程中,而是运行在应用进程中。...这取决于service是否实现了一些相关的行为,比如开启一个线程来进行service所要做的工作。 Service本身很简单,可以借助service来实现一些简单或者复杂的交互。...startActivity(Intent.createChooser(intent, "Select share target")); 以上代码会赋予intent所指向的组件访问...来防止在低内存的情况下把service给杀死。 Sample 看一下官网给的例子 第一种情况:本地调用service servcie最常见的用法就是作为应用程序的第二大组件。...除非特殊声明,否则一个.apk中的所有组件都运行在同一个进程中。在同一个进程中时,调用service的client可以很容易就获取到service的Ibinder实体对像。

1.2K80

安卓四大组件Service-服务

1、Service是否在主线程中执行,service里面是否能执行耗时的操作?...默认情况下,如果没有特殊指定Service所运行的进程,那么Service的Activity是运行在当前app所在进程的主线程里面的。不仅仅是服务,其实四大组件都是。...主线程不能执行耗时操作(网络请求,拷贝数据库,复制下载大文件) 特殊情况下,可以在清单文件中配置service所在的进程,让service在另外的进程中执行 <service android:name...3、Service的生命周期 对于Service,不同的开启方式,对应的生命周期也是不同的。...IntentService是Service的子类,比普通的Service增加了功能,Service只能运行在当前应用程序的主线程中,不能在其中处理耗时的操作。

45830

Android四大组件Service史上最全面解析

前言 Service作为Android四大组件之一,应用非常广泛 本文将介绍对Service进行全面介绍(基础认识、生命周期、使用和应用场景) ---- 目录 ? ---- 1....基础知识 定义:服务,属于Android中的计算型组件 作用:提供需要在后台长期运行的服务(如复杂计算、下载等等) 特点:长生命周期的、没有用户界面、在后台运行 ---- 2....生命周期方法详解 具体请看我写的文章:Android:Service生命周期最全面解析 ---- 3. Service分类 3.1 Service的类型 ? 3.2 详细介绍 ? 4....Service的使用解析 由上述可知,服务Service总共分为: ?...使用场景 通过上述描述,你应该对Service类型及其使用非常了解; 那么,我们该什么时候用哪种类型的Service呢? 各种Service的使用场景请看下图: ? 6.

86820
领券