我将尝试简要总结一下。我有一个应用程序可以将其数据与通过 OTG 适配器连接的 USB 闪存驱动器同步。问题是这样的:一些文件最终会放在LOST.DIR
闪存驱动器根目录中的一个文件夹中。它们都是 4KB 大,并且有随机的 3 位数字名称,没有文件扩展名。我知道它们包含来自我的应用程序的数据,因为如果我在记事本中打开它们,我可以看到我的应用程序正在输出的数据。然而,这些数据有时会与随机符号混合。根据我对文件系统的基本了解,文件大小一致和随机内容让我认为这些是被 Android 标记为坏的内存块并移至此文件夹。
有一个警告:我将闪存驱动器视为可热插拔,就像它们在 Windows 设备上一样。我知道将它们视为这样可能是无效的。为了解决这个问题,我在完成对闪存驱动器的读写操作后调用运行sync
命令。su
我的理解是,这应该将内存缓冲区/缓存与物理闪存驱动器同步,从而使其安全删除。这可能是一个错误的假设。
所以,我的问题有两个:
- 是什么导致数据随机消失并被移动到
LOST.DIR
? - 将闪存驱动器视为可热插拔是否安全?如果没有,有没有办法让他们表现得那样?
如果我的问题不够清楚或者您需要更多信息,我可以为您澄清。谢谢你。