Vold和MountService关系探究

在这里插入图片描述
1、Vold
Vold是Volume Daemon的缩写,它是Android平台中外部存储系统的管控中心,包括SD卡的拔插事件检测、SD卡挂载、卸载、格式化等等。
2、MountService
MountService运行在system_server进程,它会和Vold交互,一方面它接受Vold的消息并处理,比如应用程序常监听的ACTION_MEDIA_MOUNTED/ACTION_MEDIA_EJECT等广播,就是MountService在接收到Vold消息之后发出来的;另一方面,MountService也会给Vold发信息,比如卸载、格式化等命令。
3、实例操作流程
当一个SD卡插入之后,首先Kernel会发送一个Uevent事件给Vold,Vold会处理并把这个信息转给MountService,注意这个时候其实还没有mount上的,只是发现了存储设备并add;然后MountService会调用doMountVolume(path)发信息给Vold,告诉需要mount挂载,Vold则发指令给Kernel去mount,如果mount上之后,Vold会再发消息给MountService,这个时候MountService才会把ACTION_MEDIA_MOUNTED广播发出来。
4、在SDK中可以使用StorageManager来获取存储设备的挂载信息,通过源码可以知道StorageManager内部也是通过binder在MountService获取的数据。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值