Allocation.SetAutoPadding(Boolean) Método
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í.
Especifica la asignación entre las celdas de la asignación y los elementos de una matriz cuando los datos se copian de la asignación a la matriz, o viceversa.
[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 AutoPadding; False: deshabilitar AutoPadding
- Atributos
Comentarios
Especifica la asignación entre las celdas de la asignación y los elementos de una matriz cuando los datos se copian de la asignación a la matriz, o viceversa.
Solo se aplica a una asignación cuyo elemento es un vector de longitud 3 (como Element#U8_3 o Element#RGB_888). La habilitación de esta característica puede hacer que la copia de datos de la asignación a una matriz o viceversa sea menos eficaz.
Las celdas del elemento Vec3 se almacenan en una asignación como celdas de elemento Vec4 con el mismo android.renderscript.Element.DataType, con el cuarto componente vectorial tratado como relleno. Cuando esta característica está habilitada, solo los componentes de datos, es decir, los tres primeros componentes vectoriales de cada celda, se asignarán entre la matriz y la asignación. Cuando se deshabilita, se requiere una asignación explícita de los componentes de relleno, como se describe en el ejemplo siguiente.
Por ejemplo, al copiar una matriz de enteros en una asignación de dos Element#I32_3 celdas mediante #copyFrom(int[]):
Cuando está deshabilitado: la matriz debe tener al menos 8 enteros, con los primeros 4 enteros copiados en la primera celda de la asignación y los 4 enteros siguientes copiados en la segunda celda. Los enteros 4 y 8 se asignan como componentes de relleno.
Cuando está habilitada: la matriz solo tiene que tener al menos 6 enteros, con los primeros 3 enteros copiados en la primera celda como componentes de datos y el siguiente 3 copiado en la segunda celda. No hay ninguna asignación para los componentes de relleno.
Del mismo modo, al copiar una matriz de bytes en una asignación de dos Element#I32_3 celdas, mediante #copyFromUnchecked(int[]):
Cuando está deshabilitada: la matriz debe tener al menos 32 bytes, con los primeros 16 bytes copiados en la primera celda de la asignación y los 16 bytes siguientes copiados en la segunda celda. Los bytes 13-16 y 29.º-32 se asignan como componentes de relleno.
Cuando está habilitada: la matriz solo necesita tener al menos 24 bytes, con los primeros 12 bytes copiados en la primera celda de la asignación y los 12 bytes siguientes copiados en la segunda celda. No hay ninguna asignación para los componentes de relleno.
De forma similar a copiar datos a una asignación de una matriz, al copiar datos de una asignación a una matriz, los componentes de relleno para las celdas del elemento Vec3 no se copiarán ni asignarán a la matriz si el AutoPadding está habilitado.
Valor predeterminado: Deshabilitado.
Java documentación para android.renderscript.Allocation.setAutoPadding(boolean).
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.