При записи файла в хранилище вызовов flush()
и close()
может быть недостаточно, потому что устройство может все еще иметь данные в буферах, ожидающих записи. Вызов FileDescriptor.sync()
указывает устройству записать эти буферы. По крайней мере, так было около десяти лет go, где этот ответ от Дайанн Хакборн - лучшее, что у нас есть.
С тех пор все могло измениться, так что я думаю стоит задать этот более конкретный c вопрос:
При каких обстоятельствах (когда закончите писать File
) мы должны позвонить FileDescriptor.sync()
? Одинаков ли ответ для всех версий Android?