删除某些项目时,MediaStore中的ID会发生什么?

时间:2010-04-26 11:58:02

标签: android mediastore

我们假设:我从SD卡中删除了一个项目,然后我卸下了存储卡。

当Android重新扫描我的SD卡以进行更改时会发生什么?在MediaStore中,每一行都有一个_ID所以在我删除一个项目后,这个_ID会发生什么:

  • 是否保留在MediaStore中,它与其他项目相关联,或
  • 永久删除?

1 个答案:

答案 0 :(得分:1)

我有同样的问题,找出答案的最佳方法是进行测试。

基于我所看到的,它的工作原理如下:

1)当媒体扫描仪添加新图像或视频时,id从1开始并递增1

2)如果您删除该文件且mediascanner尚不知道该文件并且您将尝试从mediastore获取,则该记录仍将存在

3)一旦mediascanner看到该文件消失,它将从mediastore db

中删除该记录

4)将不会使用已移除记录的ID,因此如果您有三个带有ID 1,2,3和drop item 2的项目并添加一个新项目,则该列表将显示为1,3,4 - 所以删除的ID不会被重用