Allocation.SetAutoPadding(Boolean) Método

Definição

Especifica o mapeamento entre as células da Alocação e os elementos de uma matriz quando os dados são copiados da Alocação para a matriz ou vice-versa.

[Android.Runtime.Register("setAutoPadding", "(Z)V", "GetSetAutoPadding_ZHandler", ApiSince=23)]
public virtual void SetAutoPadding(bool useAutoPadding);
[<Android.Runtime.Register("setAutoPadding", "(Z)V", "GetSetAutoPadding_ZHandler", ApiSince=23)>]
abstract member SetAutoPadding : bool -> unit
override this.SetAutoPadding : bool -> unit

Parâmetros

useAutoPadding
Boolean

True: habilitar o Preenchimento Automático; False: desabilitar o Preenchimento Automático

Atributos

Comentários

Especifica o mapeamento entre as células da Alocação e os elementos de uma matriz quando os dados são copiados da Alocação para a matriz ou vice-versa.

Aplica-se apenas a uma Alocação cujo Elemento é um vetor de comprimento 3 (como Element#U8_3 ou Element#RGB_888). Habilitar esse recurso pode tornar a cópia de dados da Alocação para uma matriz ou vice-versa menos eficiente.

As células do Elemento Vec3 são armazenadas em uma alocação como células do Elemento Vec4 com o mesmo android.renderscript.Element.DataType, com o quarto componente vetor tratado como preenchimento. Quando esse recurso estiver habilitado, somente os componentes de dados, ou seja, os três primeiros componentes de vetor de cada célula, serão mapeados entre a matriz e a Alocação. Quando desabilitado, o mapeamento explícito dos componentes de preenchimento é necessário, conforme descrito no exemplo a seguir.

Por exemplo, ao copiar uma matriz de inteiros para uma alocação de duas Element#I32_3 células usando #copyFrom(int[]):

Quando desabilitada: a matriz deve ter pelo menos 8 inteiros, com os quatro primeiros inteiros copiados para a primeira célula da Alocação e os próximos 4 inteiros copiados para a segunda célula. Os inteiros 4 e 8 são mapeados como componentes de preenchimento.

Quando habilitada: a matriz só precisa ter pelo menos 6 inteiros, com os três primeiros inteiros copiados para a primeira célula como componentes de dados e os 3 seguintes copiados para a segunda célula. Não há nenhum mapeamento para os componentes de preenchimento.

Da mesma forma, ao copiar uma matriz de bytes para uma alocação de duas Element#I32_3 células, usando #copyFromUnchecked(int[]):

Quando desabilitada: a matriz deve ter pelo menos 32 bytes, com os primeiros 16 bytes copiados para a primeira célula da Alocação e os próximos 16 bytes copiados para a segunda célula. Os bytes 13-16 e 29-32 são mapeados como componentes de preenchimento.

Quando habilitada: a matriz só precisa ter pelo menos 24 bytes, com os primeiros 12 bytes copiados para a primeira célula da Alocação e os próximos 12 bytes copiados para a segunda célula. Não há nenhum mapeamento para os componentes de preenchimento.

Semelhante à cópia de dados para uma alocação de uma matriz, ao copiar dados de uma Alocação para uma matriz, os componentes de preenchimento das células do Elemento Vec3 não serão copiados/mapeados para a matriz se o Preenchimento Automático estiver habilitado.

Padrão: Desabilitado.

Documentação Java para android.renderscript.Allocation.setAutoPadding(boolean).

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

Aplica-se a