Android如何打开文件,计算内容,写入文件然后尽快关闭它?

时间:2013-05-05 01:37:17

标签: android performance file android-ndk output

我正在开发一个需要快速创建和编写文件的android项目。我为此目的使用ndk,发现fopen()调用需要不确定的时间,从主线程运行的最小~30ms到几秒钟。打开文件后,我需要计算一些结果,将结果存储到打开的文件中然后关闭它。

我试图将它放入另一个线程,但不确定它是否有帮助以及如何处理调度问题。我也在考虑可能在应用程序开始时打开许多文件描述符,并通过applcation维护这些文件描述符。有人帮助指出正确的方向吗?

1 个答案:

答案 0 :(得分:0)

听起来你正试图进入非常低的水平。 您是否考虑过使用open() write()close()系统调用。 c-library fopen调用为你做了一些很好的事情,比如缓冲,但是系统调用可能会更快。您将需要进行分析,但我认为您会看到较低的延迟。

int fd = open("myfilepath",O_WRONLY|O_CREAT);
write(fd,myData, myDataSize);
close(fd);

您可以在此处找到更多信息。 http://www.tutorialspoint.com/unix_system_calls/open.htm