CriticalNativeAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
標記為符合資格的原生方法,可使用最快可用的 Java 原生介面(JNI)轉換。
[Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")]
public class CriticalNativeAttribute : Attribute
[<Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")>]
type CriticalNativeAttribute = class
inherit Attribute
- 繼承
-
CriticalNativeAttribute
- 屬性
備註
臨界原生方法必須是靜態的,只能有原始參數型別,且必須回傳原始型別或 void。 該屬性會改變 JNI 轉換的 ABI,因此原生實作必須省略 JNIEnv and jclass 參數。
當關鍵的原生方法執行時,垃圾回收無法暫停其執行緒,且可能會被阻擋。 請勿在長期執行的方法或進行大量 I/O 或取得可長期保留的原生鎖的方法上使用此屬性。 此屬性對非原生方法不影響。
這項優化是從 Android 14 開始經過 CTS 測試的公開 API。 為了達到最佳相容性,請避免在 Android 13 及更早版本呼叫關鍵的原生方法。 動態 JNI 連結僅適用於 Android 12 及更新版本;Android 8 至 Android 11 所用的方法必須明確註冊於 JNI RegisterNatives。 在 Android 7 及更早版本中,該屬性會被忽略,因此產生的 ABI 不匹配可能導致錯誤的參數整理並當機。
的 dalvik.annotation.optimization.CriticalNativeJava 檔。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| CriticalNativeAttribute() |
初始化 CriticalNativeAttribute 類別的新執行個體。 |