1

我将尝试简要总结一下。我有一个应用程序可以将其数据与通过 OTG 适配器连接的 USB 闪存驱动器同步。问题是这样的:一些文件最终会放在LOST.DIR闪存驱动器根目录中的一个文件夹中。它们都是 4KB 大,并且有随机的 3 位数字名称,没有文件扩展名。我知道它们包含来自我的应用程序的数据,因为如果我在记事本中打开它们,我可以看到我的应用程序正在输出的数据。然而,这些数据有时会与随机符号混合。根据我对文件系统的基本了解,文件大小一致和随机内容让我认为这些是被 Android 标记为坏的内存块并移至此文件夹。

有一个警告:我将闪存驱动器视为可热插拔,就像它们在 Windows 设备上一样。我知道将它们视为这样可能是无效的。为了解决这个问题,我在完成对闪存驱动器的读写操作后调用运行sync命令。su我的理解是,这应该将内存缓冲区/缓存与物理闪存驱动器同步,从而使其安全删除。这可能是一个错误的假设。

所以,我的问题有两个:

  1. 是什么导致数据随机消失并被移动到LOST.DIR
  2. 将闪存驱动器视为可热插拔是否安全?如果没有,有没有办法让他们表现得那样?

如果我的问题不够清楚或者您需要更多信息,我可以为您澄清。谢谢你。

4

1 回答 1

0

想到的是,您不是唯一访问闪存驱动器(例如媒体扫描仪)的人,因此同步将刷新缓冲区,但某些事情可能正在进行,并且无论如何同步退出。我认为你也应该卸载它(它会失败,直到它真的可以安全删除)。

于 2014-03-22T06:51:28.563 回答