AppSearchSession.OpenBlobForWrite Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ouvre un lot d’objets blob AppSearch pour l’écriture.
[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
Paramètres
- handles
- ICollection<AppSearchBlobHandle>
S AppSearchBlobHandlequi identifie les objets blob.
- executor
- IExecutor
Exécuteur sur lequel appeler le rappel.
- callback
- IConsumer
Rappel pour recevoir le OpenBlobForWriteResponse.
- Attributs
Remarques
Ouvre un lot d’objets blob AppSearch pour l’écriture.
Un « objet blob » est un objet binaire volumineux. Il est utilisé pour stocker une quantité importante de données qui ne peuvent pas faire l’objet d’une recherche, comme des images, des vidéos, des fichiers audio ou d’autres données binaires. Contrairement à d’autres champs dans AppSearch, les objets blob sont stockés en tant que fichiers d’objets blob sur le disque plutôt que dans la mémoire, et utilisent android.os.ParcelFileDescriptor pour lire et écrire. Cela permet une gestion efficace du contenu volumineux et non pouvant faire l’objet d’une recherche.
Une fois l’écriture terminée, appelez #commitBlob les fichiers blob de validation.
Cet appel crée un fichier blob vide pour chaque fichier blob donné AppSearchBlobHandle, et un android.os.ParcelFileDescriptor de ces fichiers blob est retourné dans le OpenBlobForWriteResponse.
Si le fichier blob est déjà stocké dans AppSearch et validé. Un échec AppSearchResult avec le code AppSearchResult#RESULT_ALREADY_EXISTS d’erreur est associé au AppSearchBlobHandle.
Si le fichier blob est déjà stocké dans AppSearch, mais pas validé. Un android.os.ParcelFileDescriptor de ces fichiers blob est retourné pour continuer l’écriture.
Pour un doublon AppSearchBlobHandledonné, le même android.os.ParcelFileDescriptor pointant vers le même fichier d’objets blob est retourné.
Les fichiers blob en attente ne seront pas perdus ou ne seront pas validés automatiquement s’ils AppSearchSession sont fermés. Les fichiers blob en attente sont stockés sur disque plutôt que dans la mémoire. Vous pouvez rouvrir et réécrire AppSearchSession les fichiers blob en attente.
Un fichier blob validé est considéré comme orphelin s’il ne fait pas GenericDocument référence. Les fichiers blob en attente non validés et les fichiers d’objets blob orphelins sont nettoyés s’ils ont été créés pendant une période prolongée (la valeur par défaut est de 1 semaine).
Le retour OpenBlobForWriteResponse doit être fermé après utilisation pour éviter les fuites de ressources. L’échec de la fermeture entraîne l’épuisement du descripteur de fichier système.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.