Language

AppSearchSession.OpenBlobForWrite メソッド

定義

書き込み用に AppSearch BLOB のバッチを開きます。

[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

パラメーター

handles
ICollection<AppSearchBlobHandle>

BLOB を識別する AppSearchBlobHandle。

executor
IExecutor

コールバックを呼び出す Executor。

callback
IConsumer

OpenBlobForWriteResponseを受け取るコールバック。

属性

注釈

書き込み用に AppSearch BLOB のバッチを開きます。

"BLOB" は大きなバイナリ オブジェクトです。 画像、ビデオ、オーディオ ファイル、その他のバイナリ データなど、検索できない大量のデータを格納するために使用されます。 AppSearch の他のフィールドとは異なり、BLOB はメモリではなくディスク上の BLOB ファイルとして格納され、 android.os.ParcelFileDescriptor を使用して読み取りと書き込みを行います。 これにより、検索できない大規模なコンテンツを効率的に処理できます。

書き込みが完了したら、 #commitBlob を呼び出して BLOB ファイルをコミットします。

この呼び出しにより、指定された AppSearchBlobHandleごとに空の BLOB ファイルが作成され、その BLOB ファイルの android.os.ParcelFileDescriptor が OpenBlobForWriteResponseに返されます。

BLOB ファイルが既に AppSearch に格納され、コミットされている場合。 エラー コードを含む失敗したAppSearchResultAppSearchResult#RESULT_ALREADY_EXISTSは、AppSearchBlobHandleに関連付けられます。

BLOB ファイルが既に AppSearch に格納されているがコミットされていない場合。 書き込みを続行するために、その BLOB ファイルの android.os.ParcelFileDescriptor が返されます。

指定された重複する AppSearchBlobHandleに対して、同じ BLOB ファイルを指す同じ android.os.ParcelFileDescriptor が返されます。

保留中の BLOB ファイルは、閉じても失われず、自動コミット AppSearchSession 。 保留中の BLOB ファイルは、メモリではなくディスクに格納されます。 AppSearchSessionを再度開き、保留中の BLOB ファイルを書き直すことができます。

コミットされた BLOB ファイルは、 GenericDocument が参照していない場合、孤立したファイルと見なされます。 コミットされていない保留中の BLOB ファイルと孤立した BLOB ファイルは、長期間作成された場合にクリーンアップされます (既定値は 1 週間です)。

リソース リークを回避するには、使用後に返される OpenBlobForWriteResponse を閉じる必要があります。 閉じなかった場合、システム ファイル記述子が使い果たされます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象