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
とは異なる#acquireNextImage
には、少なくとも 2 である必要があることに注意してください。最新Image
のすべてを破棄するには、一度に 2 #acquireLatestImage
つImage Images
を一時的に取得する必要があります。 より一般的には、マージンの画像が 2 つ未満の を呼び出すと #acquireLatestImage
、期待 (maxImages - currentAcquiredImages < 2)
どおりに破棄されません。
または を使用して取得された#acquireLatestImage
#acquireNextImage
場合maxImages
、この操作は をスローIllegalStateException
することによって失敗します。 特に、中間で を呼び出さないよりも#getMaxImages
大きい呼び出しImage#close
の#acquireLatestImage
シーケンスでは、基になるキューが使い果たされます。 このような場合、 は、 IllegalStateException
を使用 Image#close
してより多くのイメージがリリースされるまでスローされます。
の android.media.ImageReader.acquireLatestImage()
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。