android_9.0 MediaScanner 媒体扫描详解

1. 概述

MediaScanner 是 Android 多媒体系统中重要的一员,MediaScanner 与媒体文件预扫描相关。我们知道,Android 系统每次开机或者重新插拔 SD 卡之后都会去扫描系统存储空间中的媒体文件,并将媒体文件相关的信息存储到媒体数据库中。这样后续 Gallery、Music、VideoPlayer 等应用便可以直接查询媒体数据库,根据需要提取信息做显示。

如果进入音乐播放器应用之后再去扫描,可想而知,你会厌恶这个应用,因为我们会觉得它反应太慢了。有了 MediaScanner 的预扫描,一打开音乐播放器就能直接去数据库中读取歌曲的时长、演唱者、专辑等信息显示给用户,这样用户体验会好很多。

下面就来分析媒体文件扫描的原理。

2. android.process.media 分析

多媒体系统的媒体扫描功能,是通过一个 apk 应用程序提供的,它位于 packages/providers/MediaProvider 目录下。查看该应用程序的的 AndroidManifest.xml 文件可知,该 apk 运行时指定了一个进程名:android.process.media

 
  1. <application android:process="android.process.media"

通过 ps 命令可以看到这个进程,另外,从该 apk 的 AndroidManifest 文件可以看到,android.process.media 使用了 Android 应用程序四大组件中的其中三个组件:

  • MediaScannerService(从 Service 派生࿰
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带你牛起来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值