Android基础之Service
来源:互联网 发布:淘宝卖家一个月不发货 编辑:程序博客网 时间:2024/05/01 03:20
Android基础之初识Service
Service是什么
服务(Service)是Android四大组件之一,其在后台执行长时间运行的操作,不提供用户界面。当启动一个服务,它将一直在后台运行,即使用户切换到另一个应用程序。一个组件可以绑定到一个服务与它交互,甚至执行进程间通信(IPC)。默认情况下,服务是运行在启动它的应用程序的主线程中的。
Service的生命周期
官方给出的Service的生命周期流程图如下:
①onCreate():当Service第一次创建时回调onCreate()。该方法只被回调一次。
②onStartCommand():当其他组件调用startService()方法请求启动Service时回调onStartCommand()。Service启动后会一直在后台运行,即使用户切换到另一个应用程序或者启动它的组件被销毁了。当Service任务执行完以后,需自行调用stopSelf() 或 其他组件调用stopService()方法停止Service。
③onBind():当其他组件调用bindService()方法请求绑定Service时回调onBind()。该方法返回一个IBinder接口,IBinder接口是Service与绑定的组件进行交互的桥梁。若Service未绑定其他组件,则该方法应返回null。
④onDestroy():当Service被销毁时回调onDestroy(),在该方法中做一些释放资源的操作。
Service的基本类型
①Started
当应用以startService()方法被启动时,服务就会开始在后台无限期的运行。通常一个启动的服务执行一个单一的操作而且不会返回结果给调用者。当这个动作执行完成的时候,服务应该停止。
②Bound
当应用以bindService()方法被启动时,服务就会被绑定。一个绑定的服务会提供一个客户端服务器接口,允许组件与服务进行交互,执行进程间通信(IPC)。绑定服务的生存期和被绑定的应用程序组件一致。
不同的Service
①Local Service:
依附在主进程上的服务。
②Remote Service:
在一个独立进程上的服务。
③前台Service:
会在通知栏显示Notification。
④后台Service:
默认的服务。
⑤startService启动的Service:
以startService()方法被启动的服务。
⑥bindService启动的Service:
以bindService()方法绑定的服务。
⑦以startService启动后又使用bindService 绑定的Service:
该Service将会一直在后台运行,onCreate方法只会调用一次,onStartCommand的调用次数与startService调用的次数一致。只调用unBindService不会停止Service,必须再调用stopService或stopSelf来停止服务。
- Android基础之Service
- Android基础之Service
- Android--Service之基础
- Android--Service之基础
- Android--Service之基础
- android基础之Service
- Android基础之Service
- Android 回顾Service之Service基础使用
- Android基础学习之Service
- Android基础学习之Service
- android基础之service详解
- Android基础之应用Service
- Android之service一些基础回顾
- Android笔记之 Web Service 基础
- Android基础系列之Service(一)
- Android基础系列之Service(二)
- Android Studio开发基础之Service
- android基础学习之Service(一)
- 创建eclipse新的workspace并设置workspace共享配置
- java自学日记 day 08
- 我的科研生活2017-3-13
- js-getAttribute与setAttribute的用法
- 39.平衡二叉树
- Android基础之Service
- 关于spfa 判断负环
- 1012. 数字分类 (20)
- Mac下安装VirtualBox5.1并在VirtualBox中安装CentOS 7.3
- Levenshtein distance最小编辑距离算法实现
- 在maven本地仓库中添加oracle的jdbc驱动。
- 归并排序最直观的示意图
- javaScript类型转换
- onBackPressed的用法的文章