ImageReader.AcquireLatestImage メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ImageReader のキューから最新の Image を取得し、古い Image imagesを削除します。
[Android.Runtime.Register("acquireLatestImage", "()Landroid/media/Image;", "GetAcquireLatestImageHandler")]
public virtual Android.Media.Image? AcquireLatestImage();
[<Android.Runtime.Register("acquireLatestImage", "()Landroid/media/Image;", "GetAcquireLatestImageHandler")>]
abstract member AcquireLatestImage : unit -> Android.Media.Image
override this.AcquireLatestImage : unit -> Android.Media.Image
返品
画像データの最新フレーム、または画像データが使用できない場合は null 。
- 属性
例外
現在取得されている画像が多すぎる場合
注釈
ImageReader のキューから最新の Image を取得し、古い Image imagesを削除します。 新しいイメージが使用できない場合は null を返します。
この操作により、ImageReader から可能なすべてのイメージが取得されますが、最新ではないすべてのイメージが #close されます。 この関数は、リアルタイム処理に適しているため、ほとんどのユース ケースで #acquireNextImage を超えて使用することをお勧めします。
#getMaxImages maxImages
#acquireLatestImageが#acquireNextImageと異なるために少なくとも 2 である必要があることに注意してください。最新のImageをすべて破棄するには、一度に 2 つのImage Imagesを一時的に取得する必要があります。 より一般的には、余白の画像が 2 つ未満の #acquireLatestImage を呼び出すと、 (maxImages - currentAcquiredImages < 2) は想定どおりに破棄されません。
#acquireLatestImageまたは#acquireNextImageで取得maxImages場合、この操作はIllegalStateExceptionをスローすることによって失敗します。 特に、#getMaxImagesを超える一連の#acquireLatestImage呼び出しで、インImage#closeを呼び出さずに、基になるキューが使い果たされます。 このような場合、 IllegalStateException は、 Image#closeにより多くのイメージがリリースされるまでスローされます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。