博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 学习之四大组件(二)——service
阅读量:6858 次
发布时间:2019-06-26

本文共 1449 字,大约阅读时间需要 4 分钟。

版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/49160021

Android 学习之四大组件(二)——service

1、什么是Service

Service没有用户界面,运行在后台。负责处理一些用户看不到的、并且有持续时间的事情。有时候我们退出应用,Service并没有结束,它仍在后台运行,一般在播放音乐,下载数据等情况下会用到Service。

2、service的种类 

service按照不同的方式有不同的分类。
按运行地点:本地服务(Local)、远程服务(Remote)。
按运行类型:前台服务、后台服务。
按使用方式:startService启用的服务、BindService启用的服务、两者同时启用的服务。

3、service与Tread的区别

(1) Thread:Thread (线程)是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。

(2)Service:Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 main 线程上运行的。如果是Remote Service,那么对应的 Service 则是运行在独立进程的 main 线程上。因此请不要把 Service 理解成线程,它跟线程半毛钱的关系都没有!

举个例子:
如果你的 Th
r
ead 需要不停地隔一段时间就要连接服务器做某种同步的话,该 Th
r
ead 需要在 Activity 没有sta
r
t的时候也在运行。这个时候当你 sta
r
t 一个 Activity 就没有办法在该 Activity 里面控制之前创建的 Th
r
ead。因此你便需要创建并启动一个 Se
r
vice ,在 Se
r
vice 里面创建、运行并控制该 Th
r
ead,这样便解决了该问题(因为任何 Activity 都可以控制同一 Se
r
vice,而系统也只会创建一个对应 Se
r
vice 的实例)。

4、在 AndroidManifest.xml 里 Service 元素的常见选项

android:name  -------------  服务类名

android:label  --------------  服务的名字,如果此项不设置,那么默认显示的服务名则为类名

android:icon  --------------  服务的图标

android:permission  -------  申明此服务的权限,这意味着只有提供了该权限的应用才能控制或连接此服务

android:process  ----------  表示该服务是否运行在另外一个进程,如果设置了此项,那么将会在包名后面加上这段字符串表示另一进程的名字

android:enabled  ----------  如果此项设置为 true,那么 Service 将会默认被系统启动,不设置默认此项为 false

android:exported  ---------  表示该服务是否能够被其他应用程序所控制或连接,不设置默认此项为 false

你可能感兴趣的文章
生产网络做portfast等配置对网络的影响
查看>>
Connection is read-only. Queries leading to data modification are not allowed
查看>>
LeetCode - 43. Multiply Strings
查看>>
sublime text3侧边栏主题不生效问题解决
查看>>
System Center 2016 - Operations Manager 部署安装(二)
查看>>
ubuntu设置静态ip不能联网
查看>>
Outlook 2010上的定时发送邮件
查看>>
让server08域数据超速再生秘技之数据库快照[为企业部署Windows Server 2008系列八]...
查看>>
【算法】算法中的趣味数学(一)
查看>>
ZFS调试命令zdb之进阶用法
查看>>
集群管理平台安全问题
查看>>
新注册的微信公众号如何获得原始粉丝?
查看>>
Hyper-V Server Replica
查看>>
java实现顺序链表
查看>>
负载均衡产品的NAT转换技术及IP溯源的实现
查看>>
脉冲耦合神经网络(PCNN)的matlab实现
查看>>
NLTK基础教程学习笔记(五)
查看>>
一小段有用脚本,仅记录
查看>>
Cacti合并流量图
查看>>
split分割合并及验证文件的一致性
查看>>