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
Параметры
Открытый файл, для который вы хотите выделить место на диске.
- bytes
- Int64
число выделенных байтов. Это желаемый окончательный размер открытого файла. Если открытый файл меньше запрошенного размера, он будет расширен без изменения существующего содержимого. Если размер открытого файла превышает запрошенный размер, он будет усечен.
- Атрибуты
Комментарии
Выделите требуемое количество байтов, которое приложение будет использовать в данном открытом файле. Это приведет к удалению всех кэшированных файлов, необходимых для удовлетворения вашего запроса.
Попытки выделить место на диске за пределами значения, возвращаемого параметром , завершатся ошибкой #getAllocatableBytes(UUID)
.
Этот метод гарантирует, что байты были выделены для открытого файла, в противном случае он будет вызывать исключение, если быстрое выделение невозможно. Быстрое выделение обычно поддерживается только в частных каталогах данных приложений, а также на эмулируемых общих или внешних запоминающих устройствах.
Если вы постепенно выделяете неограниченный объем дискового пространства (например, при записи видео), не следует вызывать этот метод чаще, чем раз в 60 секунд.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом 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.