Lingua

AppSearchSession.OpenBlobForWrite Metodo

Definizione

Apre un batch di BLOB di Ricerca app per la scrittura.

[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

Parametri

handles
ICollection<AppSearchBlobHandle>

Oggetto AppSearchBlobHandleche identifica i BLOB.

executor
IExecutor

Executor in cui richiamare il callback.

callback
IConsumer

Callback per ricevere l'oggetto OpenBlobForWriteResponse.

Attributi

Commenti

Apre un batch di BLOB di Ricerca app per la scrittura.

Un "BLOB" è un oggetto binario di grandi dimensioni. Viene usato per archiviare una quantità significativa di dati che non è ricercabile, ad esempio immagini, video, file audio o altri dati binari. A differenza di altri campi in AppSearch, i BLOB vengono archiviati come file BLOB su disco anziché in memoria e usano android.os.ParcelFileDescriptor per leggere e scrivere. In questo modo è possibile gestire in modo efficiente contenuti di grandi dimensioni e non ricercabili.

Al termine della scrittura, chiamare #commitBlob per eseguire il commit dei file BLOB.

Questa chiamata creerà un file BLOB vuoto per ogni dato AppSearchBlobHandlee un android.os.ParcelFileDescriptor di tale file BLOB verrà restituito in OpenBlobForWriteResponse.

Se il file BLOB è già archiviato in AppSearch ed è stato eseguito il commit. Un errore AppSearchResult con codice AppSearchResult#RESULT_ALREADY_EXISTS di errore verrà associato all'oggetto AppSearchBlobHandle.

Se il file BLOB è già archiviato in AppSearch ma non è stato eseguito il commit. Verrà restituito un android.os.ParcelFileDescriptor di tale file BLOB per continuare la scrittura.

Per il duplicato specificato AppSearchBlobHandle, verrà restituito lo stesso android.os.ParcelFileDescriptor file BLOB che punta allo stesso file BLOB.

I file BLOB in sospeso non andranno persi o eseguiranno il commit automatico se AppSearchSession chiusi. I file BLOB in sospeso verranno archiviati nel disco anziché nella memoria. È possibile riaprire AppSearchSession e riscrivire i file BLOB in sospeso.

Un file BLOB di cui è stato eseguito il commit verrà considerato orfano se non GenericDocument vi fa riferimento. I file BLOB in sospeso e i file BLOB orfani non inviati verranno puliti se sono stati creati per un periodo prolungato (il valore predefinito è 1 settimana).

L'oggetto restituito OpenBlobForWriteResponse deve essere chiuso dopo l'uso per evitare perdite di risorse. Se non si chiude, si verifica un esaurimento del descrittore di file di sistema.

per android.app.appsearch.AppSearchSession.openBlobForWrite(java.util.Set<android.app.appsearch.AppSearchBlobHandle>, java.util.concurrent.Executor, java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.OpenBlobForWriteResponse>>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a