service
来源:互联网 发布:sql注入危害 编辑:程序博客网 时间:2024/06/06 02:32
Service运行于后台的一个组件,没有前台界面,相当于没有界面的activity
1、 Service不是分离开的进程,除非其他特殊情况,它不会运行在自己的进程,而是作为启动运行它的进程的一部分。
2、 Service不是线程,这意味着它将在主线程里劳作。
进程优先级:
- foreground process 前台进程:拥有一个正在与用户交互的activity(onResume) 进程
- visible process 可见进程:拥有一个可见但是没有焦点的activity(onPause) 进程
- service process 服务进程:拥有一个通过startservice方法启动的服务
- background process 后台进程:拥有一个不可见的activity(onStop) 进程
- empty process 空进程:没有拥有任何活动的应用组件的进程
(1)service用于在后台完成用户指定的操作。service分为两种:
(a)started(启动):当应用程序组件(如activity)调用startService()方法启动服务时,服务处于started状态。(b)bound(绑定):当应用程序组件调用bindService()方法绑定到服务时,服务处于bound状态。
(2)startService()与bindService()区别:
(a)started service(启动服务)是由其他组件调用startService()方法启动的,这导致服务的onStartCommand()方法被调用。
当服务是started状态时,其生命周期与启动它的组件无关,并且可以在后台无限期运行,即使启动服务的组件已经被销毁。因此,服务需要在完成任务后调用stopSelf()方法停止,或者由其他组件调用stopService()方法停止。
(b)使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。
(3)开发人员需要在应用程序配置文件中声明全部的service,使用标签。
(4)Service通常位于后台运行,它一般不需要与用户交互,因此Service组件没有图形用户界面。Service组件需要继承Service基类。Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。
0 0
- Service
- Service
- service
- Service
- service
- Service
- Service
- service
- Service
- Service
- Service
- service
- service
- Service
- Service
- Service
- Service
- Service
- Android快速SDK(22)友盟升级统计库UmengUpdate【肌肉记忆,分钟接入】
- javac编译的过程
- DATA GUARD 简介
- Run WordCount on Hadoop
- android 内置关系型数据库 SQLite
- service
- 当鼠标点击页面其他地方时隐藏某个元素
- Android学习之Application类
- myeclipes忽略js错误,取消验证
- 新版eclipse编写Android 时经常报的错误 -support-v7
- Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案
- UITableViewCell重用导致动态添加控件时cell乱掉的问题
- 字符串去掉肩括号和空格
- oracle归档模式和非归档模式的区别