CriticalNativeAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Marca un método nativo apto para usar las transiciones de Java interfaz nativa (JNI) más rápidas disponibles.
[Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")]
public class CriticalNativeAttribute : Attribute
[<Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")>]
type CriticalNativeAttribute = class
inherit Attribute
- Herencia
-
CriticalNativeAttribute
- Atributos
Comentarios
Un método nativo crítico debe ser estático, puede tener solo tipos de parámetro primitivos y debe devolver un tipo primitivo o void. El atributo cambia la ABI de transición de JNI, por lo que la implementación nativa debe omitir los JNIEnv parámetros y jclass .
Mientras se ejecuta un método nativo crítico, la recolección de elementos no utilizados no puede suspender su subproceso y puede bloquearse. No use este atributo en métodos o métodos de ejecución prolongada que realicen E/S significativos o adquieran bloqueos nativos que se pueden mantener durante mucho tiempo. Este atributo no tiene ningún efecto en los métodos no nativos.
Esta optimización es una API pública probada por CTS a partir de Android 14. Para obtener la máxima compatibilidad, evite llamar a métodos nativos críticos en Android 13 y versiones anteriores. La vinculación dinámica de JNI solo funciona en Android 12 y versiones posteriores; Los métodos usados en Android 8 a Android 11 deben estar registrados explícitamente con JNI RegisterNatives. En Android 7 y versiones anteriores, se omite el atributo , por lo que la falta de coincidencia de ABI resultante puede provocar serialización de argumentos y bloqueos incorrectos.
Java documentación para dalvik.annotation.optimization.CriticalNative.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| Nombre | Description |
|---|---|
| CriticalNativeAttribute() |
Inicializa una nueva instancia de la clase CriticalNativeAttribute. |