全部
当我第一次插入设备后尝试从 SD 卡读取某些媒体文件时,读取性能比第二次差很多,有人对这种现象有任何了解吗?我该如何避免这种情况问题,我尝试了 open 和 fopen,但结果是相同的,我只是想要读取性能相同,无论何时插入 SD 卡,谢谢
最佳答案
打开文件时使用O_DIRECT
(请参阅 open(2) )将绕过缓冲区缓存。这通常不是一个好主意,但我希望它在每次运行中都更加一致。
请记住,使用 O_DIRECT
要求读取的内存按 SC_PAGESIZE
对齐,并以 SC_PAGESIZE
倍数的 block 读取。
关于android - SD卡上的文件IO性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9527176/