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 パラメーターと jclass パラメーターを省略する必要があります。
重要なネイティブ メソッドが実行されている間、ガベージ コレクションはスレッドを中断できず、ブロックされる可能性があります。 重要な I/O を実行する、または長時間保持できるネイティブ ロックを取得する、実行時間の長いメソッドまたはメソッドでは、この属性を使用しないでください。 この属性は、非ネイティブ メソッドには影響しません。
この最適化は、Android 14 以降の CTS でテストされたパブリック API です。 互換性を最大限に高める場合は、Android 13 以前で重要なネイティブ メソッドを呼び出さないようにしてください。 ダイナミックJNIリンクはAndroid 12以降でのみ動作します。Android 8 から Android 11 で使用されるメソッドは、JNI RegisterNativesに明示的に登録する必要があります。 Android 7 以前では、この属性は無視されるため、ABI の不一致により、引数のマーシャリングが正しくなくなり、クラッシュする可能性があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| CriticalNativeAttribute() |
CriticalNativeAttribute クラスの新しいインスタンスを初期化します。 |