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 個 ,#acquireLatestImage否則要丟棄除除最新Image外的全部,必須暫時同時取得兩個Image Images。 更一般來說, #acquireLatestImage 當邊距少於兩張圖片時,它 (maxImages - currentAcquiredImages < 2) 不會如預期丟棄。
若 maxImages 已獲得 或 #acquireNextImage#acquireLatestImage ,此運算將因拋出 IllegalStateException 而失敗。 特別地,若呼叫 #acquireLatestImage 序列大於 且 #getMaxImages 中間沒有呼叫 Image#close ,將耗盡底層佇列。 此時 將 IllegalStateException 被拋棄,直到更多帶有 的 Image#close影像被釋放。
Java 文件 android.media.ImageReader.acquireLatestImage()。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。