Android的Service
来源:互联网 发布:win7网络设置ip地址 编辑:程序博客网 时间:2024/05/17 15:01
Service的特点是没有界面,不受用户打扰,概念上类似Linux的Daemon,在摆脱了与终端的联系之后,就能够长期在后台运行了。(当然,本质上Service只是一个对象和一些代码片段,和Activity一样,Service缺省运行在进程的主线程中,所以需要注意的是,如果Service有耗时操作还是需要创建另外的线程来完成的)
由于没有界面,相比Activity,Service因而简单了不少,不用布局,也不用处理用户交互,只需要处理好LifeCycle就行了。Service的LifeCycle根据控制方式可分为两种。
- 一种是用startService()/stopService()控制Service的启停。
- 一种是用bindService()/unbindService()连接断开Service。在连接上Service时,可以调用Service提供的方法。
使用连接断开Service的Bind模式有几种实现方式:
- 在同一个进程内,简单多了,可以直接访问对象,就可以直接进行强制类型转换。
- 不在同一个进程中,可以考虑使用Messenger。Messenger的底层其实也是用AIDL(Android Interface Definition Language)来实现,只不过封装好后,开发者不用直接和AIDL打交道,直接使用Messenger的接口就行了。当然队列化以后,Service不能同时处理多个请求,只能一个处理完后再处理下一个,这点和IntentService相似。
- 使用AIDL就能够同时处理多个请求了,AIDL比较复杂,不过好在底层的处理都由编译器处理了,因而开发者要做的其实只是自定义接口和实现接口,然后依葫芦画瓢按固定的形式把通道搭起来。
除了自己实现Service,系统提供了一些有用的Service,当然都是Bind模式的,开发者可以通过Context.getSystemService()获取相应的对象(这些对象内封装了访问Service的接口),然后访问Service。
- Android的Service概括
- Android Service的使用
- Android Service 的使用
- Android service的使用
- android的Service分析
- Android Service的用法
- Android Service的使用
- Android的Service
- Android的Service详解
- Android的Service分析
- android Service的用法
- Android Service的生命周期
- Android 的Service生命周期
- Android Service 的生命周期
- android service的好处
- Android的Service学习
- Android的Service
- Android Service 的使用
- 【面试技巧】常见面试问题
- 给浮躁的软件业同仁
- 数据库管理工具——SQuirreL SQL Client使用入门
- Java编程语言中notify和wait的具体应用
- 时间复杂度测试题1
- Android的Service
- PHP的分页处理技术和一些常用的技术
- Qt连接Oracle数据库的一些问题
- 主题为实践的学习
- JAVA内部类的作用、方法、使用
- java 线程wait()与notify()的用法(被唤醒后的线程到底重新执行同步代码块还是从那是等待的那里继续执行)
- undo
- mysql 简单导入导出多种命令方法实现
- oracle9i clob字段插入 报错ORA-01461