`
flycomos.lee
  • 浏览: 281928 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android Service两种启动启动方式

 
阅读更多

startService:
正常调用:onCreate->onStart
取消绑定:onDestroy
如果调用者自己直接退出而没有调用stopService,则Service会一直在后台运行,直到下次调用者再启动起来,并明确调用stopService

bindService
正常调用:onCreate->onBind
取消绑定:onUnbind->onDestroy

先startService,再bindService
onCreate->onStart->onBind(onCreate只调用一次)
先stopService 再unbindService
点stopService不起作用,点unbindService后,立即输入2条:
onUnbind->onDestroy
如果先unbindService再stopService
则顺序输出:onUnbind->onDestroy

先bindService再startService
onCreate->onBind->onStart(onCreate只调用一次)
先stopService再unbindService
点stopService不起作用,点unbindService后,立即输入2条:
onUnbind->onDestroy
如果先unbindService再stopService
则顺序输出:onUnbind->onDestroy

分享到:
评论

相关推荐

    android service的2种启动方式

    Service有两种主要的启动方式:显式启动(Explicit Start)和隐式启动(Implicit Start)。本篇文章将深入探讨这两种启动方式,并通过实例代码进行演示。 **一、显式启动(Explicit Start)** 显式启动Service是最...

    android学习之Service启动1

    首先,Service有两种启动模式:startService()和bindService()。`startService()`主要用于启动一个无需与调用者直接交互的服务,服务一旦启动就会在后台持续运行,直到服务自行停止或系统因资源限制而杀死服务。`...

    浅谈android性能优化之启动过程(冷启动和热启动)

    Android 应用程序的启动方式可以分为两种:冷启动和热启动。 1. 冷启动:当启动应用程序时,后台没有该应用程序的进程,这时系统会重新创建一个新的进程分配给该应用程序,这个启动方式就是冷启动。在冷启动中,...

    android service 简单实例源代码

    Service主要分为两种类型:标准Service和IntentService。标准Service在主线程中运行,开发者需要自行管理线程;IntentService则会自动在工作线程中处理任务,任务完成后自动停止,适合执行一次性任务。 在创建...

    Android系统在新进程中启动自定义服务过程(startService)的原理

    Service 可以被分为两种:Foreground Service 和 Background Service。Foreground Service 是可以在前台运行的服务,它可以显示一个 Notification,通知用户当前正在执行的任务。Background Service 则是不能在前台...

    Android Service的启动过程分析

    Service有两种运行状态:启动状态(Started State)和绑定状态(Bound State)。在启动状态下,Service通过调用`Context.startService()`启动,并且可以在后台持续运行,即使没有与任何Activity交互。在绑定状态下,...

    appWidget启动Service

    5. **与Service通信**: 有两种主要方式与Service通信: - ** Binder: 如果Service需要与AppWidget或其他组件进行复杂交互,可以实现`Binder`接口,并在Service中提供。这样,其他组件可以通过`bindService()`方法...

    android-Service的2种应用

    了解了这两种启动Service的方式后,开发者可以根据实际需求选择合适的方法。`startService`适用于后台运行且不需要与启动它的组件保持连接的任务,而`bindService`则适用于需要实时交互的场景。在使用Service时,...

    Android Service Demo

    Service有两种启动方式:startService()和bindService()。前者启动Service后,Service会持续运行直到stopSelf()或stopService()被调用,而后者则是通过与Service建立连接进行交互,当所有连接断开时,Service会被...

    android service toast 01

    Service的启动有两种方式:通过`startService()`和`bindService()`。`startService()`使Service在后台运行,直到`stopSelf()`或`stopService()`被调用;`bindService()`则创建一个与调用者绑定的服务,服务在客户端...

    android service

    Service有两种启动方式:显式启动(通过指定服务类名)和隐式启动(通过Intent匹配)。显式启动通常用于应用内部,而隐式启动则常用于跨应用调用。 对于长时间运行的任务,Service可以使用IntentService。...

    Android混合方式开启服务

    混合方式开启服务是指结合了显式启动和隐式启动两种方式来启动Android服务,这样可以实现更灵活的控制和服务调用。接下来,我们将详细讨论Android服务的基本概念、显式与隐式启动的区别以及如何混合方式开启服务。 ...

    Android Service简单实例

    `Service`分为两种主要类型:`Start Service`和`Bound Service`。`Start Service`主要用于执行非交互式的任务,例如后台音乐播放或数据同步,而`Bound Service`则提供客户端-服务端接口,允许其他组件与之交互并获取...

    Android Service下载,EventBus更新界面

    Service有两种启动方式:startService()和bindService()。startService()用于一次性启动服务并执行任务,而bindService()则用于与服务建立连接,进行双向通信。在Service中,我们可以创建一个下载任务,利用...

    Android Service 与 定时器

    `Service`有两种主要类型:`START_STICKY`和`START_NOT_STICKY`,它们决定了服务被系统杀死后的行为。 **定时器** 在Android中,有多种定时任务实现方式,包括`AlarmManager`、`Handler`、`Timer`和`...

    Android 启动 Service(startservice和bindservice) 两种方式的区别

    Service有两种启动方式:`startService()` 和 `bindService()`。这两种方式启动Service各有特点,适用于不同的场景。 1. **startService() 方式启动Service** 当使用`startService()`启动Service时,Service会在...

    Android 多个service的action 相同冲突 验证demo

    在这个项目中,开发者可能创建了两个或更多的Service,它们都声明了相同的ACTION,并在启动这些Service时展示了不同策略的应用。 在阅读和分析这个示例项目时,你可以查看以下几个关键点: - Service的...

    Android之Service实现比较大小

    这两种启动模式对Service的行为有着显著的影响。 1. **START_STICKY**: 当Service被系统因资源不足而杀死时,如果设置了`START_STICKY`,系统会在资源可用时重新启动Service,但不会重新调用`onCreate()`方法,...

    Android Service之start实现

    Service的启动方式主要有两种:`startService()`和`bindService()`。这里我们主要关注`startService()`,它是异步的,适合用于执行一次性或周期性的任务,如播放音乐、定时任务等。一旦Service被启动,即使用户离开...

    Android-Service与Activity传值

    有两种常见的方法: - **使用BroadcastReceiver**:`Service`通过发送Broadcast,`Activity`注册BroadcastReceiver来接收数据。`Service`创建一个`LocalBroadcastManager`实例,发送广播;`Activity`在需要接收...

Global site tag (gtag.js) - Google Analytics