Service组件研究
来源:互联网 发布:js文本框只能输入整数 编辑:程序博客网 时间:2024/05/17 04:28
Android四大组件之Service
Service启动过程
1. 相关简介
ActiveServices: 管理所有services
启动过程通过context->AMS->ActiveServices实现
通过ActivityThread的applicationThread实现
process的回调
activityThread中的token为AMS中ProcessRecord的远端
activityThread中有mServices存放了该进程下的所有service,以toke binder作为key,该token为AMS对应的ServiceRecord
2. 流程
Service绑定过程
1. 相关简介
ServiceRecord: 描述一个正在运行的service,其中bindings描述目前绑在该service的intent集合
connections存放所有的service connection
ServiceRecord包含:
- 一个IntentBindRecord的list,每个IntentBindRecord中存放了一个intent和对应的service的binder,以及以这个intent绑定的AppBindRecord的list
- 一个ConnectionRecord的hashmap,该hashmap以ServiceConnection的binder对象为key,存放了以改binder绑定的CR对象。一个CR对象内部有一个AppBindRecord,activity以及ConnectionService对象(封装成了ServiceDispatcher)。
IntentBindRecord: intent和service和app的绑定关系,存放了intent和service的对应关系,以及绑定在该service上的所有app和process
AppBindRecord: 描述service和client的绑定关系,存放在IntentBindRecord
ConnectionRecord: 描述一个service的绑定,包含activity信息等等。描述AppBindRecord到ServiceRecord的绑定关系。即使相同的AppBindRecord(app与service的一个绑定),activity不同也算两个ConnectionRecord,考虑到同一个ServiceConnection可能被不同的activity共用
2. 流程
- Service组件研究
- Service组件
- Service组件
- Service 组件
- 组件Service
- Service组件
- 组件---Service
- service组件
- Web Service的研究
- Android Service 研究
- Web Service的研究
- Excel.Application组件研究
- Ext组件的研究
- Android组件研究
- 自定义组件研究<三>
- 自定义组件研究<四>
- Activity组件研究
- 组件化研究01
- oracle使用闪回技术还原表数据
- 用 Flask 来写个轻博客 (5) — (M)VC_SQLAlchemy 的 CRUD 详解
- 缓存技术
- unity3D的面试题
- Lua元表
- Service组件研究
- Unity基础包 刚体FPS HeadBob和CameraRefocus 脚本研究
- oracle数据库常用的99条查询语句
- 关于Oracle误操作--数据被Commit后的数据回退恢复(闪回)
- 跨服务器session共享
- poj3071_Football 概率DP、二进制的应用
- 为EasyUI 的Tab 标签添加右键菜单(转)
- selenium 分布式部署测试
- Android 守护进程的一些认识