語言

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 批次/背景處理。 錯誤使用此功能可能導致影像出現越來越大的延遲,隨後陷入完全停滯,似乎沒有新的影像出現。

maxImages 已獲得 或 #acquireLatestImage#acquireNextImage ,此運算將因拋出 IllegalStateException 而失敗。 特別是,若一連串#acquireNextImage#acquireLatestImage或大於 的#getMaxImages maxImages呼叫,若中間沒有呼叫Image#close,將耗盡底層佇列。 此時 將 IllegalStateException 被拋棄,直到更多帶有 的 Image#close影像被釋放。

Java 文件 android.media.ImageReader.acquireNextImage()

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

另請參閱