HardwareBuffer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
HardwareBuffer 會包裹一個原生 AHardwareBuffer 物件,該物件是代表由各種硬體單元存取的低階記憶體緩衝區物件。
[Android.Runtime.Register("android/hardware/HardwareBuffer", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class HardwareBuffer : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/hardware/HardwareBuffer", ApiSince=26, DoNotGenerateAcw=true)>]
type HardwareBuffer = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IAutoCloseable
- 繼承
- 屬性
- 實作
備註
HardwareBuffer 會包裹一個原生 AHardwareBuffer 物件,該物件是代表由各種硬體單元存取的低階記憶體緩衝區物件。 HardwareBuffer 允許在不同應用程式流程間共享緩衝區。 特別是,硬體緩衝區可以映射到各種硬體系統可存取的記憶體,例如 GPU、感測器或情境集線器,或其他輔助處理單元。
欲了解更多資訊,請參閱 NDK 文件 AHardwareBuffer。
Java 文件 android.hardware.HardwareBuffer。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
欄位
| 名稱 | Description |
|---|---|
| R16 |
已淘汰.
格式:16 位元紅色。 |
| R8 |
已淘汰.
格式:8 位元紅色 |
| Rg1616 |
已淘汰.
格式:16 位元,紅色、綠色。 |
| Rgba10101010 |
已淘汰.
格式:紅、綠、藍、Alpha 各 10 位元 |
| UsageComposerOverlay |
緩衝區將作為硬體 composer 的覆蓋層。 |
| UsageCpuReadOften |
使用情況:緩衝區通常會被 CPU 讀取 |
| UsageCpuReadRarely |
使用情況:緩衝區有時會被 CPU 讀取 |
| UsageCpuWriteOften |
使用情況:緩衝區通常會由 CPU 寫入 |
| UsageCpuWriteRarely |
使用情況:緩衝區有時會被 CPU 寫入 |
| UsageFrontBuffer |
用途:緩衝區用於前緩衝區渲染。 |
| UsageGpuColorOutput |
使用情況:緩衝區會由 GPU 寫入 |
| UsageGpuCubeMap |
用途:緩衝區將用作立方體貼圖材質 |
| UsageGpuDataBuffer |
用途:緩衝區將被用作著色器儲存或統一緩衝區物件 |
| UsageGpuMipmapComplete |
使用方式:緩衝區包含完整的 mipmap 階層結構 |
| UsageGpuSampledImage |
使用情況:緩衝區會被 GPU 讀取 |
| UsageProtectedContent |
使用方式:緩衝區不得在受保護的硬體路徑之外使用 |
| UsageSensorDirectData |
用途:緩衝區將用於感測器直接資料 |
| UsageVideoEncode |
用途:緩衝區將由硬體視訊編碼器讀取 |
| Ycbcr420888 |
已淘汰.
格式:平面 YCbCr 420;必須寬度與高度均等 |
| YcbcrP010 |
已淘汰.
Android YUV P010 格式。 |
| YcbcrP210 |
已淘汰.
Android YUV P210 格式。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Creator |
HardwareBuffer 會包裹一個原生 |
| Format |
返回 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| Height |
回傳這個緩衝區的高度(以像素為單位)。 |
| Id |
回傳此緩衝區的系統性唯一識別碼 |
| IsClosed |
表示此緩衝區是否已關閉。 |
| JniIdentityHashCode |
HardwareBuffer 會包裹一個原生 |
| JniPeerMembers |
HardwareBuffer 會包裹一個原生 |
| Layers |
回傳此緩衝區的層數。 |
| PeerReference |
HardwareBuffer 會包裹一個原生 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| Usage |
HardwareBuffer 會包裹一個原生 |
| Width |
回傳此緩衝區的寬度(以像素為單位)。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Close() |
會立刻摧毀這個緩衝區。 |
| Create(Int32, Int32, HardwareBufferFormat, Int32, HardwareBufferUsage) |
HardwareBuffer 會包裹一個原生 |
| DescribeContents() |
HardwareBuffer 會包裹一個原生 |
| Dispose() |
HardwareBuffer 會包裹一個原生 |
| Dispose(Boolean) |
HardwareBuffer 會包裹一個原生 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| IsSupported(Int32, Int32, HardwareBufferFormat, Int32, Int64) |
查詢系統是否支援給定的緩衝區描述。 |
| JavaFinalize() |
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| ToArray<T>() |
HardwareBuffer 會包裹一個原生 |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
HardwareBuffer 會包裹一個原生 |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| WriteToParcel(Parcel, ParcelableWriteFlags) |
把這個物體壓扁成一個包裹。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
HardwareBuffer 會包裹一個原生 |
| IJavaPeerable.DisposeUnlessReferenced() |
HardwareBuffer 會包裹一個原生 |
| IJavaPeerable.Finalized() |
HardwareBuffer 會包裹一個原生 |
| IJavaPeerable.JniManagedPeerState |
HardwareBuffer 會包裹一個原生 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
HardwareBuffer 會包裹一個原生 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
HardwareBuffer 會包裹一個原生 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
HardwareBuffer 會包裹一個原生 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
HardwareBuffer 會包裹一個原生 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |