android上的文件I / O问题

时间:2013-05-03 13:03:02

标签: android sd-card fwrite rom

我最近遇到了一个问题。 我需要在Android上的/data/data/com../tmp中将一些tmp数据写入文件(使用API​​ fwrite)。

测试程序只在一个线程上运行。 并且一次写入几百KB的数据。

案例1: 在这种情况下,我首先在此路径中创建2个文件,然后轮流写入这2个tmp文件。

写入过程会偶尔暂停几次,有时几秒钟。 如果在这种情况下只写一个tmp(但是打开这个2文件)文件,那就是同样的情况。

案例2: 如果此目录中只存在一个tmp文件。 写过程永远不会暂停..

为什么写入过程会在案例1中连续暂停?

感谢您的帮助。

更新

我测试了几个版本的Android,包括2.3.7,4.0.3,4.1

代码是:

FILE *tmp1 = fopen(tmp1,"wb"); 
FILE *tmp2 = fopen(tmp2,"wb"); 
FILE *swap = tmp1; 

while(..) { 
    if (..) 
        swap = tmp2; 
    else
        swap = tmp1;

    fwrite(.., swap)
}

0 个答案:

没有答案