AppSearchSession.OpenBlobForWrite メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
書き込み用に 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 を閉じる必要があります。 閉じなかった場合、システム ファイル記述子が使い果たされます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。