Idioma

CriticalNativeAttribute Classe

Definição

Marca um método nativo qualificado para usar as transições de JNI (Interface Nativa) mais rápida Java s disponíveis.

[Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")]
public class CriticalNativeAttribute : Attribute
[<Android.Runtime.Annotation("dalvik.annotation.optimization.CriticalNative")>]
type CriticalNativeAttribute = class
    inherit Attribute
Herança
CriticalNativeAttribute
Atributos

Comentários

Um método nativo crítico deve ser estático, pode ter apenas tipos de parâmetro primitivo e deve retornar um tipo primitivo ou void. O atributo altera a ABI de transição JNI, portanto, a implementação nativa deve omitir os parâmetros e jclass os JNIEnv parâmetros.

Enquanto um método nativo crítico é executado, a coleta de lixo não pode suspender seu thread e pode ser bloqueada. Não use esse atributo em métodos de execução longa ou métodos que executam E/S significativa ou adquiram bloqueios nativos que podem ser mantidos por um longo tempo. Esse atributo não tem efeito sobre métodos não nativos.

Essa otimização é uma API pública testada pelo CTS a partir do Android 14. Para obter compatibilidade máxima, evite chamar métodos nativos críticos no Android 13 e anteriores. A vinculação JNI dinâmica funciona apenas no Android 12 e posterior; os métodos usados no Android 8 até o Android 11 devem ser explicitamente registrados com JNI RegisterNatives. No Android 7 e anteriores, o atributo é ignorado, portanto, a incompatibilidade resultante da ABI pode causar falhas e marshalling de argumentos incorretos.

Java documentação para dalvik.annotation.optimization.CriticalNative.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
CriticalNativeAttribute()

Inicializa uma nova instância da classe CriticalNativeAttribute.

Aplica-se a