Android -- service两种启动方式startService与bindService

继上一篇文章,Android – Service的使用,我们来继续看看Service的两种启动方式

第一种startService

运行代码,得知以下几点结论:

  1. 我们了解它的启动周期为onCreate->onStartCommand,如图

  2. 当退出应用后,后台的Service进程仍然存在,未被销毁
  3. 当点击多次startService时,如图我点击了3次,你会发现onCreate方法只创建了一次。

  4. stopService,如图

第二种bindService

运行代码得知以下结论:

  1. 点击bindService,生命周期oncreat->onServiceConnected

  2. 退出当前应用,抛出异常,并且关闭service,如图

  3. 点击unBindService,

注意

startService与bindService按钮都点击

然后我们值点击stopService或unBindService时候都无法关闭Service。

需要先unBindService,再stopService。

时间: 2024-08-05 04:31:42

Android -- service两种启动方式startService与bindService的相关文章

Service 两种启动方式

Service的生命周期Service的生命周期方法比Activity少一些,只有onCreate,onStart,onDestroy 我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的. 1通过startService Service会经历onCreate->onStart stopService的时候直接onDestroy 如果是调用者(TestServiceHolder)自己直接退出而没有调用stopService的 话,Service会一直在后台运行. 下

Android Service的两种启动方式

参考链接 1. 概念 开始,先稍稍讲一点android中Service的概念和用途吧~ Service分为本地服务(LocalService)和远程服务(RemoteService): 1.本地服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC, 也不需要AIDL.相应bindService会方便很多.主进程被Kill后,服务便会终止. 2.远程服务为独立的进程,对应进程名格式为所在包名加上你指定的android:process字符

Service的两种启动方式

今天又写Service,提示覆写onBind(),想起Android好像是有个叫做Binder的IPC机制. Service里面有一个onBind(),一个onStartCommand(),两者都能启动Service, 查了一下,有人说区别是能否持续调用,onStartCommand可以,onBind不行.SEE:HERE>> 有人说onStartCommand()可以用startService()来启动,而onBind()要用binder对象. 粗略了解下吧. Service的两种启动方式

Android service介绍和启动方式

1.Android service的作用: service通常是用来处理一些耗时操作,或后台执行不提供用户交互界面的操作,例如:下载.播放音乐. 2.Android service的生命周期: service生命周期没有activity生命周期那么复杂,它只有onCreate().onStart().onDestroy()三个方法,当第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是

ARM的两种启动方式 (NAND FLASH. NOR FLASH)

为什么会有两种启动方式? 这就是有两种FLASH 的不同特点决定的. NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND  FLASH  进行读写,因此CPU  无法对NAND  FLASH 的数据进行直接寻址,CPU 对NAND  FLASH 中数据的读写是通过专门的  nand  flash控制器进行的,因此 NAND  FLASH 更适合于存储数据. NOR FLASH 容量小,速度快,对NOR FLASH 进行读写时,输入地址,然后给出读写信号

Android四大组件之服务的两种启动方式详解

Service简单概述 Service(服务):是一个没有用户界面.可以在后台长期运行且可以执行操作的应用组件.服务可由其他应用组件启动(如:Activity.另一个service).此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC).例如:服务可以处理网络事务.播放音乐,执行文件 I/O 或与内容提供程序交互,而这一切均可在后台进行. 进程的优先级 了解进程的优先级可以帮助你理解服务~ 1. Foreground process(前台进程) 一句话总结:当前跟用户有交互

Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。

Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags(); 一.Android Activity 四种启动模式 lunchMode 在Manifest 配置文件中的属性如下: (1) android:launchMode="standard" (2)android:launchMode="singleTop" (3)android:launchMode="singleTask" (4)andro

Android中两种序列化方式的比较Serializable和Parcelable

Serializable和Parcelable接口可以完成对象的序列化过程,当我们需要通过Intent和Binder传输数据时就需要使用者两种序列化方式.还有,我们需要对象持久化到存储设备或者通过网络传输给其他客户端,这个使用也需要使用Serializale来完成对象的序列化.在Android应用开发中,这两种方式都很常见,但两者方式并不相同. 1.Serializable接口 Serializable接口是Java提供的一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操作.使用

Android 中的 Service 三种启动方式

1.start Service    不会随着activity finish 而关闭,必须调用 stop方法 每次调用都会调用onstart方法 package com.weidingqiang.customnetroid; import android.app.Service; import android.content.Intent; import android.os.Bundle; import android.os.IBinder; import android.util.Log;