ImageReader.AcquireNextImage メソッド

定義

ImageReader のキューから次のイメージを取得します。

[Android.Runtime.Register("acquireNextImage", "()Landroid/media/Image;", "GetAcquireNextImageHandler")]
public virtual Android.Media.Image? AcquireNextImage();
[<Android.Runtime.Register("acquireNextImage", "()Landroid/media/Image;", "GetAcquireNextImageHandler")>]
abstract member AcquireNextImage : unit -> Android.Media.Image
override this.AcquireNextImage : unit -> Android.Media.Image

返品

画像データの新しいフレーム、または画像データが使用できない場合は null

属性

例外

maxImagesイメージが現在取得されている場合

注釈

ImageReader のキューから次のイメージを取得します。 新しいイメージが使用できない場合は null を返します。

警告: 古いイメージが自動的に解放され、実行速度の遅い処理ルーチンが最新のフレームに追いつくので、代わりに #acquireLatestImage() を使用することを検討してください。 バッチ/バックグラウンド処理では、 #acquireNextImage の使用をお勧めします。 この関数を誤って使用すると、遅延が増えて画像が表示され、その後、新しいイメージが表示されない完全なストールが発生する可能性があります。

#acquireNextImageまたは#acquireLatestImageで取得maxImages場合、この操作はIllegalStateExceptionをスローすることによって失敗します。 特に、#getMaxImages maxImagesより大きい一連の#acquireNextImageまたは#acquireLatestImage呼び出しの間にImage#closeを呼び出さないと、基になるキューが使い果たされます。 このような場合、 IllegalStateException は、 Image#closeにより多くのイメージがリリースされるまでスローされます。

Javaドキュメント。

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

適用対象

こちらもご覧ください