CriticalNativeAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Marque une méthode native éligible pour utiliser les transitions JNI (Native Interface) les plus rapides disponibles Java.
[Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")]
public class CriticalNativeAttribute : Attribute
[<Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")>]
type CriticalNativeAttribute = class
inherit Attribute
- Héritage
-
CriticalNativeAttribute
- Attributs
Remarques
Une méthode native critique doit être statique, peut avoir uniquement des types de paramètres primitifs et doit retourner un type primitif ou void. L’attribut modifie l’ABI de transition JNI, de sorte que l’implémentation native doit omettre les paramètres et jclass les JNIEnv paramètres.
Lorsqu’une méthode native critique s’exécute, le garbage collection ne peut pas suspendre son thread et peut être bloqué. N’utilisez pas cet attribut sur des méthodes ou des méthodes longues qui effectuent des E/S significatives ou acquièrent des verrous natifs qui peuvent être conservés pendant longtemps. Cet attribut n’a aucun effet sur les méthodes non natives.
Cette optimisation est une API publique testée par CTS à partir d’Android 14. Pour une compatibilité maximale, évitez d’appeler des méthodes natives critiques sur Android 13 et versions antérieures. La liaison JNI dynamique fonctionne uniquement sur Android 12 et versions ultérieures ; les méthodes utilisées sur Android 8 via Android 11 doivent être explicitement inscrites auprès de JNI RegisterNatives. Sur Android 7 et versions antérieures, l’attribut est ignoré, de sorte que l’incompatibilité ABI résultante peut entraîner un marshaling et des plantages d’argument incorrects.
Java documentation pour dalvik.annotation.optimization.CriticalNative.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
Constructeurs
| Nom | Description |
|---|---|
| CriticalNativeAttribute() |
Initialise une nouvelle instance de la classe CriticalNativeAttribute. |