語言

CriticalNativeAttribute 類別

定義

標記為符合資格的原生方法,可使用最快可用的 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 類別的新執行個體。

適用於