AppSearchSession.OpenBlobForWrite Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Abre um lote de Blobs appSearch para gravação.
[Android.Runtime.Register("openBlobForWrite", "(Ljava/util/Set;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V", "", ApiSince=36)]
public void OpenBlobForWrite(System.Collections.Generic.ICollection<Android.App.AppSearch.AppSearchBlobHandle> handles, Java.Util.Concurrent.IExecutor executor, Java.Util.Functions.IConsumer callback);
[<Android.Runtime.Register("openBlobForWrite", "(Ljava/util/Set;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V", "", ApiSince=36)>]
member this.OpenBlobForWrite : System.Collections.Generic.ICollection<Android.App.AppSearch.AppSearchBlobHandle> * Java.Util.Concurrent.IExecutor * Java.Util.Functions.IConsumer -> unit
Parâmetros
- handles
- ICollection<AppSearchBlobHandle>
Os AppSearchBlobHandles que identificam os blobs.
- executor
- IExecutor
Executor no qual invocar o retorno de chamada.
- callback
- IConsumer
Retorno de chamada para receber o OpenBlobForWriteResponse.
- Atributos
Comentários
Abre um lote de Blobs appSearch para gravação.
Um "blob" é um objeto binário grande. Ele é usado para armazenar uma quantidade significativa de dados que não são pesquisáveis, como imagens, vídeos, arquivos de áudio ou outros dados binários. Ao contrário de outros campos no AppSearch, os blobs são armazenados como arquivos de blob no disco em vez de na memória e usados android.os.ParcelFileDescriptor para ler e gravar. Isso permite a manipulação eficiente de conteúdo grande e não pesquisável.
Depois de terminar de gravar, chame #commitBlob para confirmar arquivos de blob.
Essa chamada criará um arquivo de blob vazio para cada um determinado AppSearchBlobHandle, e um android.os.ParcelFileDescriptor desse arquivo de blob será retornado no OpenBlobForWriteResponse.
Se o arquivo de blob já estiver armazenado no AppSearch e confirmado. Uma falha AppSearchResult com o código AppSearchResult#RESULT_ALREADY_EXISTS de erro será associada ao AppSearchBlobHandle.
Se o arquivo de blob já estiver armazenado no AppSearch, mas não for confirmado. Um android.os.ParcelFileDescriptor desse arquivo de blob será retornado para continuar gravando.
Para determinada duplicata AppSearchBlobHandle, o mesmo android.os.ParcelFileDescriptor apontando para o mesmo arquivo de blob será retornado.
Arquivos de blob pendentes não serão perdidos ou confirmados automaticamente se AppSearchSession fechados. Arquivos de blob pendentes serão armazenados em disco em vez de memória. Você pode reabrir AppSearchSession e gravar novamente os arquivos de blob pendentes.
Um arquivo de blob confirmado será considerado órfão se nenhuma GenericDocument referência a ele. Arquivos de blobs pendentes não confirmados e arquivos de blobs órfãos serão limpos se tiverem sido criados por um período estendido (o padrão é 1 semana).
O retornado OpenBlobForWriteResponse deve ser fechado após o uso para evitar vazamentos de recursos. A falha ao fechá-lo resultará no esgotamento do descritor de arquivo do sistema.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.