Поделиться через


StorageManager.AllocateBytes Метод

Определение

Перегрузки

AllocateBytes(FileDescriptor, Int64)

Выделите требуемое количество байтов, которое приложение будет использовать в данном открытом файле.

AllocateBytes(UUID, Int64)

Выделите требуемое количество байтов, которое приложение будет использовать в заданном томе хранилища.

AllocateBytes(FileDescriptor, Int64)

Выделите требуемое количество байтов, которое приложение будет использовать в данном открытом файле.

[Android.Runtime.Register("allocateBytes", "(Ljava/io/FileDescriptor;J)V", "GetAllocateBytes_Ljava_io_FileDescriptor_JHandler", ApiSince=26)]
public virtual void AllocateBytes (Java.IO.FileDescriptor? fd, long bytes);
[<Android.Runtime.Register("allocateBytes", "(Ljava/io/FileDescriptor;J)V", "GetAllocateBytes_Ljava_io_FileDescriptor_JHandler", ApiSince=26)>]
abstract member AllocateBytes : Java.IO.FileDescriptor * int64 -> unit
override this.AllocateBytes : Java.IO.FileDescriptor * int64 -> unit

Параметры

fd
FileDescriptor

Открытый файл, для который вы хотите выделить место на диске.

bytes
Int64

число выделенных байтов. Это желаемый окончательный размер открытого файла. Если открытый файл меньше запрошенного размера, он будет расширен без изменения существующего содержимого. Если размер открытого файла превышает запрошенный размер, он будет усечен.

Атрибуты

Комментарии

Выделите требуемое количество байтов, которое приложение будет использовать в данном открытом файле. Это приведет к удалению всех кэшированных файлов, необходимых для удовлетворения вашего запроса.

Попытки выделить место на диске за пределами значения, возвращаемого параметром , завершатся ошибкой #getAllocatableBytes(UUID) .

Этот метод гарантирует, что байты были выделены для открытого файла, в противном случае он будет вызывать исключение, если быстрое выделение невозможно. Быстрое выделение обычно поддерживается только в частных каталогах данных приложений, а также на эмулируемых общих или внешних запоминающих устройствах.

Если вы постепенно выделяете неограниченный объем дискового пространства (например, при записи видео), не следует вызывать этот метод чаще, чем раз в 60 секунд.

Документация по Java для android.os.storage.StorageManager.allocateBytes(java.io.FileDescriptor, long).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Применяется к

AllocateBytes(UUID, Int64)

Выделите требуемое количество байтов, которое приложение будет использовать в заданном томе хранилища.

[Android.Runtime.Register("allocateBytes", "(Ljava/util/UUID;J)V", "GetAllocateBytes_Ljava_util_UUID_JHandler", ApiSince=26)]
public virtual void AllocateBytes (Java.Util.UUID storageUuid, long bytes);
[<Android.Runtime.Register("allocateBytes", "(Ljava/util/UUID;J)V", "GetAllocateBytes_Ljava_util_UUID_JHandler", ApiSince=26)>]
abstract member AllocateBytes : Java.Util.UUID * int64 -> unit
override this.AllocateBytes : Java.Util.UUID * int64 -> unit

Параметры

storageUuid
UUID

UUID тома хранилища, в котором требуется выделить место на диске. UUID для определенного пути можно получить с помощью #getUuidForPath(File).

bytes
Int64

число выделенных байтов.

Атрибуты

Комментарии

Выделите требуемое количество байтов, которое приложение будет использовать в заданном томе хранилища. Это приведет к удалению всех кэшированных файлов, необходимых для удовлетворения вашего запроса.

Попытки выделить место на диске за пределами значения, возвращаемого параметром , завершатся ошибкой #getAllocatableBytes(UUID) .

Так как одновременно могут выполняться несколько приложений, этот метод может быть подвержен условиям гонки. Если это возможно, рассмотрите возможность использования #allocateBytes(FileDescriptor, long) , которая гарантирует выделение байтов для открытого файла.

Если вы постепенно выделяете неограниченный объем дискового пространства (например, при записи видео), не следует вызывать этот метод чаще, чем раз в 60 секунд.

Документация по Java для android.os.storage.StorageManager.allocateBytes(java.util.UUID, long).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Применяется к