Я использовал fwrite для записи буфера (размером 460800) на диск в android jni, в большинстве случаев он стоил около 10-40 мс, и это приемлемо, но иногда это будет стоит 500--800 мс, то есть медленно, и я не могу это принять.fwrite in android иногда очень медленно
Является ли anyOne известным, почему это происходит? И как решить этот вопрос.
спасибо за этот ответ, я вызвал fflush после fwrite каждый раз. означает, что каждый раз, когда он будет писать буфер в реальный файл диска? – vaiRonaldo
@vaiRonaldo Да. 'fflush()' вызывает именно это. Если вы не хотите ждать очень долго каждый раз, подумайте о записи меньших объемов данных за раз и не называйте 'fflush()' так часто. – fuz
@vaiRonaldo, если вы пишете файл во флеше, нет диска. Характеристики основного физического носителя не похожи на диск. Стирание и запись flash-страницы занимает много времени, и нет никакого способа обойти это. –