我正在使用fwrite在android jni中将一个缓冲区(大小为460800)写入磁盘,大多数情况下它花费大约10-40ms,这是可以接受的,但有时它会花费500到800毫秒,那是慢,我不能接受这个。
AnyOne知道为什么会这样吗?以及如何解决这个问题。
答案 0 :(得分:0)
有时,保留在您写入的FILE
中的内部缓冲区将刷新到操作系统。有时,操作系统会将其保留在内部缓存中的数据刷新到您正在写入的闪存中。闪存很慢,所以如果你写的内存超过内存可以处理的,你必须等待。如果你想让数据最终存在于闪存中,那么就无法等待。