Android Vold架构
来源:互联网 发布:区域高程数据 编辑:程序博客网 时间:2024/05/16 05:00
http://blog.csdn.net/qianjin0703/article/details/6362389
1. 总体架构
2. 流程概览
2.1 开启Vold
2.2 引导Uevent
2.3 处理事件
Vold - Volume Daemon存储类的守护进程,作为Android的一个本地服务,负责处理诸如SD、USB等存储类设备的插拔等事件。
1. 总体架构
Vold服务由volumeManager统一管控,它将具体任务分别分派给netlinkManager, commandListener, directVolume, Volume去完成。
Vold服务向下通过socket机制与底层驱动交互,向上通过JNI, intent, socket, doCommand等机制与Java Framework交互。
2 流程概览
2.1 开启服务
初始化Android系统时开启Vold本地服务,
Vold在/dev/block下创建vold文件夹,开启VolumeManager, NetlinkManager, CommandListener。
2.2 引导Uevent
NetlinkManager负责监听底层Linux上报的uevent事件。
系统的SocketListner统一管理所有socket事件。
NetlinkListner负责解析socket事件。
最后由onEvent()将vold事件交还给NetlinkManager处理。
2.3 处理Block和Switch事件
NetlinkManager调用VolumeManager中处理vold事件的类。
handleBlockEvent()完成SD的挂载和卸载,具体交由DirectVolume完成。
handleSwitchEvent()完成由USB实现的U盘的连接。
两者最后都是通过setBroadcast()将ResponsibleCode经过nativeDaemonConnector的socket监听机制,最终上传到MountService作统一规划。
MountService里的onEvent()得到解析后的事件,完成两大任务,
-> 发送命令doCommand()通过commandListener传递给volumeManager
-> 将事件信息广播给相关服务,供上层应用使用。
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构
- Android Vold架构(二)
- Android Vold 架构简析
- android vold:图解VOLD
- Android VOLD
- Android vold
- android vold
- delphi Winsock非阻塞模式详解
- 未来的八种人将会被淘汰!
- SQL SERVER同步复制技术
- 怎样控制WPF GroupBox.HeaderTemplate中的控件
- UIDevice获取设备数据以及如何获取应用信息
- Android Vold架构
- 本地计算机上的OracleOraDb10g_home1TNSListener服务启动后停止
- android工程中不自动生成Android Dependencies的解决方式
- 业余数学牛人的数学自学心得
- Java中ConcurrentHashMap学习
- Hibernate 注解试用
- css+div简单的菜单导航
- 给hadoop 0.20.2打patch补丁
- ubuntu 11.04 vm中挂载windows共享目录