Most visited

Recently visited

Allocation

public class Allocation
extends BaseObj

java.lang.Object
   ↳ android.support.v8.renderscript.BaseObj
     ↳ android.support.v8.renderscript.Allocation


这个类提供了通过RenderScript内核传递数据的主要方法。 分配为给定的Type提供后备存储。

分配还包含一组使用标志,表示如何使用分配。 例如,分配可能有使用标志,指定它可以从脚本中使用以及输入到Sampler 开发人员必须使用syncAll(int)来跨这些不同用途进行syncAll(int) ,以确保分配的不同用户拥有一致的内存视图。 例如,在分配被用作一个内核的输出和在较后的内核中作为采样器输入的情况下,开发者必须在启动第二个内核之前调用syncAll(Allocation.USAGE_SCRIPT)以确保正确性。

分配可以用copyFrom(Bitmap)例程填充。 对于更复杂的元素类型,可以使用copyFromUnchecked(byte[])方法从字节数组或类似结构复制。

Developer Guides

有关创建使用RenderScript的应用程序的更多信息,请阅读 RenderScript开发人员指南。

Summary

Nested classes

枚举 Allocation.MipmapControl

控制使用位图创建和更新功能时的mipmap行为。

Constants

int USAGE_GRAPHICS_TEXTURE

分配将被一个或多个图形程序用作纹理源。

int USAGE_IO_INPUT

分配将用作 SurfaceTexture消费者。

int USAGE_IO_OUTPUT

分配将用作 SurfaceTexture制作人。

int USAGE_SCRIPT

分配将被绑定到脚本并被脚本访问。

int USAGE_SHARED

分配的后备存储将从另一个对象(通常是Bitmap )继承; 复制到或从原始源位图将导致同步而不是完整副本。

Public methods

void copy1DRangeFrom(int off, int count, float[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeFrom(int off, int count, short[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeFrom(int off, int count, Object array)

将数组复制到此Allocation的一维区域。

void copy1DRangeFrom(int off, int count, int[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeFrom(int off, int count, Allocation data, int dataOff)

将分配的一部分复制到此分配中。

void copy1DRangeFrom(int off, int count, byte[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeFromUnchecked(int off, int count, byte[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeFromUnchecked(int off, int count, short[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeFromUnchecked(int off, int count, Object array)

将数组复制到此Allocation的一维区域。

void copy1DRangeFromUnchecked(int off, int count, int[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeFromUnchecked(int off, int count, float[] d)

将数组复制到此Allocation的一维区域。

void copy1DRangeTo(int off, int count, short[] d)

将此Allocation的一维区域复制到数组中。

void copy1DRangeTo(int off, int count, Object array)

将此Allocation的一维区域复制到数组中。

void copy1DRangeTo(int off, int count, int[] d)

将此Allocation的一维区域复制到数组中。

void copy1DRangeTo(int off, int count, float[] d)

将此Allocation的一维区域复制到数组中。

void copy1DRangeTo(int off, int count, byte[] d)

将此Allocation的一维区域复制到数组中。

void copy1DRangeToUnchecked(int off, int count, byte[] d)

将此Allocation的一维区域复制到数组中。

void copy1DRangeToUnchecked(int off, int count, short[] d)

将此Allocation的一维区域复制到数组中。

void copy1DRangeToUnchecked(int off, int count, Object array)

将此Allocation的一维区域复制到数组中。

void copy1DRangeToUnchecked(int off, int count, int[] d)

将此Allocation的一维区域复制到数组中。

void copy1DRangeToUnchecked(int off, int count, float[] d)

将此Allocation的一维区域复制到数组中。

void copy2DRangeFrom(int xoff, int yoff, Bitmap data)

Bitmap复制到分配中。

void copy2DRangeFrom(int xoff, int yoff, int w, int h, byte[] data)

从数组中复制到此分配中的矩形区域。

void copy2DRangeFrom(int xoff, int yoff, int w, int h, Object array)

从数组中复制到此分配中的矩形区域。

void copy2DRangeFrom(int xoff, int yoff, int w, int h, int[] data)

从数组中复制到此分配中的矩形区域。

void copy2DRangeFrom(int xoff, int yoff, int w, int h, float[] data)

从数组中复制到此分配中的矩形区域。

void copy2DRangeFrom(int xoff, int yoff, int w, int h, short[] data)

从数组中复制到此分配中的矩形区域。

void copy2DRangeFrom(int xoff, int yoff, int w, int h, Allocation data, int dataXoff, int dataYoff)

将分配中的矩形区域复制到此分配中的矩形区域。

void copy2DRangeTo(int xoff, int yoff, int w, int h, short[] data)

将此Allocation中的矩形区域复制到数组中。

void copy2DRangeTo(int xoff, int yoff, int w, int h, byte[] data)

将此Allocation中的矩形区域复制到数组中。

void copy2DRangeTo(int xoff, int yoff, int w, int h, Object array)

将此Allocation中的矩形区域复制到数组中。

void copy2DRangeTo(int xoff, int yoff, int w, int h, float[] data)

将此Allocation中的矩形区域复制到数组中。

void copy2DRangeTo(int xoff, int yoff, int w, int h, int[] data)

将此Allocation中的矩形区域复制到数组中。

void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, Object array)

在此分配中从数组复制到3D区域。

void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, Allocation data, int dataXoff, int dataYoff, int dataZoff)

从另一个分配中将矩形区域复制到分配中。

void copyFrom(Bitmap b)

复制到 Bitmap的分配中。

void copyFrom(BaseObj[] d)

将RS对象数组复制到分配。

void copyFrom(Allocation a)

从分配中复制分配。

void copyFrom(short[] d)

从数组复制到此分配中。

void copyFrom(int[] d)

从数组复制到此分配中。

void copyFrom(byte[] d)

从数组复制到此分配中。

void copyFrom(float[] d)

从数组复制到此分配中。

void copyFrom(Object array)

从数组复制到此分配中。

void copyFromUnchecked(float[] d)

从数组复制到此分配中。

void copyFromUnchecked(Object array)

从数组复制到此分配中。

void copyFromUnchecked(short[] d)

从数组复制到此分配中。

void copyFromUnchecked(int[] d)

从数组复制到此分配中。

void copyFromUnchecked(byte[] d)

从数组复制到此分配中。

void copyTo(Bitmap b)

从分配中复制到 Bitmap

void copyTo(short[] d)

从分配中复制到一个短阵列中。

void copyTo(byte[] d)

从分配复制到一个字节数组中。

void copyTo(float[] d)

从分配中复制到浮点数组中。

void copyTo(int[] d)

从Allocation复制到一个int数组中。

void copyTo(Object array)

从分配复制到数组中。

static Allocation createCubemapFromBitmap(RenderScript rs, Bitmap b, Allocation.MipmapControl mips, int usage)

从包含立方体面的水平列表的 Bitmap创建立方体 Bitmap分配。

static Allocation createCubemapFromBitmap(RenderScript rs, Bitmap b)

创建一个非mipmapped立方体贴图分配,用作包含立方体面的水平列表的 Bitmap中的图形纹理。

static Allocation createCubemapFromCubeFaces(RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg)

创建一个非mipmapped立方体贴图分配,用作包含立方体面的6个 Bitmap对象的采样器输入。

static Allocation createCubemapFromCubeFaces(RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg, Allocation.MipmapControl mips, int usage)

创建包含立方体面的对象的6 Bitmap立方体 Bitmap分配。

static Allocation createFromBitmap(RenderScript rs, Bitmap b, Allocation.MipmapControl mips, int usage)

Bitmap创建一个分配。

static Allocation createFromBitmap(RenderScript rs, Bitmap b)

Bitmap创建一个分配。

static Allocation createFromBitmapResource(RenderScript rs, Resources res, int id)

创建一个非mipmapped分配,用作资源ID引用的 Bitmap的图形纹理。

static Allocation createFromBitmapResource(RenderScript rs, Resources res, int id, Allocation.MipmapControl mips, int usage)

从资源ID引用的位图创建分配。

static Allocation createFromString(RenderScript rs, String str, int usage)

创建一个包含以UTF-8格式编码的字符串数据的分配。

static Allocation createSized(RenderScript rs, Element e, int count, int usage)

使用指定数量的给定元素创建一个分配

static Allocation createSized(RenderScript rs, Element e, int count)

使用指定数量的给定元素创建一个分配

static Allocation createTyped(RenderScript rs, Type type)

创建一个分配,供具有给定 Type且没有 Type的脚本使用

static Allocation createTyped(RenderScript rs, Type type, int usage)

按照类型指定的大小创建一个Allocation,默认情况下不生成mipmap

static Allocation createTyped(RenderScript rs, Type type, Allocation.MipmapControl mips, int usage)

使用给定的 Type ,mipmap标志和使用标志创建新的分配。

void destroy()

释放与此对象关联的任何本机资源。

void generateMipmaps()

生成一个mipmap链。

ByteBuffer getByteBuffer()

获取或创建一个包含当前分配的原始数据的ByteBuffer。

int getBytesSize()

以字节为单位获取分配的大小。

Element getElement()

获取分配的 ElementType

long getIncAllocID()

Get Support&Setter用于Inc Support Lib的虚拟分配。

long getStride()

获取分配的步幅。

Type getType()

获取分配的 Type

int getUsage()

获取分配的使用标志。

void ioReceive()

接收分配中的最新输入。

void ioSend()

发送缓冲区到输出流。

void ioSendOutput()

代码更新后删除。

void setAutoPadding(boolean useAutoPadding)

当数据从Allocation复制到数组时,指定Allocation的单元格和数组元素之间的映射,反之亦然。

void setFromFieldPacker(int xoff, int component_number, FieldPacker fp)

这只适用于RenderScript脚本文件反映的自动生成的代码。

void setFromFieldPacker(int xoff, FieldPacker fp)

这只适用于由RenderScript脚本文件反映的自动生成的代码,不应该由开发人员使用。

void setIncAllocID(long id)
void setSurface(Surface sur)

Surface与此分配相关联。

void syncAll(int srcLocation)

将分配的一种用法更改为分配的其他用法。

Protected methods

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

Inherited methods

From class android.support.v8.renderscript.BaseObj
From class java.lang.Object

Constants

USAGE_GRAPHICS_TEXTURE

int USAGE_GRAPHICS_TEXTURE

分配将被一个或多个图形程序用作纹理源。

常量值:2(0x00000002)

USAGE_IO_INPUT

int USAGE_IO_INPUT

分配将用作SurfaceTexture消费者。 这种用法会导致分配被创建为只读。

常量值:32(0x00000020)

USAGE_IO_OUTPUT

int USAGE_IO_OUTPUT

分配将用作SurfaceTexture生产者。 SurfaceTexture的尺寸和格式将被强制为分配的尺寸和格式。

常量值:64(0x00000040)

USAGE_SCRIPT

int USAGE_SCRIPT

分配将被绑定到脚本并被脚本访问。

常数值:1(0x00000001)

USAGE_SHARED

int USAGE_SHARED

分配的后台存储将从另一个对象(通常是Bitmap )继承; 复制到或从原始源位图将导致同步而不是完整副本。 syncAll(int)也可能用于同步分配和源位图。

默认情况下,对于使用API版本18和更高版本中的 createFromBitmap(RenderScript, Bitmap)创建的分配,这是默认设置。

常量值:128(0x00000080)

Public methods

copy1DRangeFrom

void copy1DRangeFrom (int off, 
                int count, 
                float[] d)

将数组复制到此Allocation的一维区域。 该变型是类型检查并生成异常,如果分配的Element既不是32位浮点也不32位的向量浮标Element.DataType

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d float: the source array.

copy1DRangeFrom

void copy1DRangeFrom (int off, 
                int count, 
                short[] d)

将数组复制到此Allocation的一维区域。 这种变体是类型检查,如果分配的会产生异常Element不是一个16位整数,也不是16个整数的向量Element.DataType

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素且AutoPadding已启用,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d short: the source array

copy1DRangeFrom

void copy1DRangeFrom (int off, 
                int count, 
                Object array)

将数组复制到此Allocation的一维区域。 如果分配的Element与传入的数组的组件类型不匹配,则会检查该变体的类型并生成异常。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
array Object: The source array.

copy1DRangeFrom

void copy1DRangeFrom (int off, 
                int count, 
                int[] d)

将数组复制到此Allocation的一维区域。 如果分配的Element不是32位整数,也不是32位整数Element.DataType的向量,则此类型会被检查类型并生成异常。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d int: the source array

copy1DRangeFrom

void copy1DRangeFrom (int off, 
                int count, 
                Allocation data, 
                int dataOff)

将分配的一部分复制到此分配中。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
data Allocation: the source data allocation.
dataOff int: off The offset of the first element in data to be copied.

copy1DRangeFrom

void copy1DRangeFrom (int off, 
                int count, 
                byte[] d)

将数组复制到此Allocation的一维区域。 这种变体是类型检查,如果分配的会产生异常Element不是8位整数,也没有8个整数的向量Element.DataType

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d byte: the source array

copy1DRangeFromUnchecked

void copy1DRangeFromUnchecked (int off, 
                int count, 
                byte[] d)

将数组复制到此Allocation的一维区域。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素且AutoPadding已启用,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d byte: the source array

copy1DRangeFromUnchecked

void copy1DRangeFromUnchecked (int off, 
                int count, 
                short[] d)

将数组复制到此Allocation的一维区域。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d short: the source array

copy1DRangeFromUnchecked

void copy1DRangeFromUnchecked (int off, 
                int count, 
                Object array)

将数组复制到此Allocation的一维区域。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素并且启用了AutoPadding ,则数组的大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
array Object: The source array

copy1DRangeFromUnchecked

void copy1DRangeFromUnchecked (int off, 
                int count, 
                int[] d)

将数组复制到此Allocation的一维区域。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素并且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d int: the source array

copy1DRangeFromUnchecked

void copy1DRangeFromUnchecked (int off, 
                int count, 
                float[] d)

将数组复制到此Allocation的一维区域。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素,并且启用了AutoPadding ,则数组的大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d float: the source array

copy1DRangeTo

void copy1DRangeTo (int off, 
                int count, 
                short[] d)

将此Allocation的一维区域复制到数组中。 如果分配的Element既不是16位整数,也不是16位整数Element.DataType的向量,则此类型会被检查并会生成异常。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d short: the source array

copy1DRangeTo

void copy1DRangeTo (int off, 
                int count, 
                Object array)

将此Allocation的一维区域复制到数组中。 如果分配的Element与传入的数组的组件类型不匹配,则此方法将进行类型检查并生成异常。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,那么数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
array Object: The source array.

copy1DRangeTo

void copy1DRangeTo (int off, 
                int count, 
                int[] d)

将此Allocation的一维区域复制到数组中。 如果分配的Element既不是32位整数,也不是32位整数Element.DataType的向量,则此类型将被检查并会生成异常。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素并且启用了AutoPadding ,则数组的大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d int: the source array

copy1DRangeTo

void copy1DRangeTo (int off, 
                int count, 
                float[] d)

将此Allocation的一维区域复制到数组中。 该变型是类型检查并生成异常,如果分配的Element既不是32位浮点也不32位的向量浮标Element.DataType

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d float: the source array.

copy1DRangeTo

void copy1DRangeTo (int off, 
                int count, 
                byte[] d)

将此Allocation的一维区域复制到数组中。 如果分配的Element既不是8位整数,也不是8位整数Element.DataType的向量,则此类型会检查类型并生成异常。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素并且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d byte: the source array

copy1DRangeToUnchecked

void copy1DRangeToUnchecked (int off, 
                int count, 
                byte[] d)

将此Allocation的一维区域复制到数组中。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d byte: the source array

copy1DRangeToUnchecked

void copy1DRangeToUnchecked (int off, 
                int count, 
                short[] d)

将此Allocation的一维区域复制到数组中。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素并且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素且AutoPadding已启用,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d short: the source array

copy1DRangeToUnchecked

void copy1DRangeToUnchecked (int off, 
                int count, 
                Object array)

将此Allocation的一维区域复制到数组中。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素并且启用了AutoPadding ,则数组的大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
array Object: The dest array

copy1DRangeToUnchecked

void copy1DRangeToUnchecked (int off, 
                int count, 
                int[] d)

将此Allocation的一维区域复制到数组中。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d int: the source array

copy1DRangeToUnchecked

void copy1DRangeToUnchecked (int off, 
                int count, 
                float[] d)

将此Allocation的一维区域复制到数组中。 此方法不保证分配与输入缓冲区兼容。

该地区的大小是:count * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
off int: The offset of the first element to be copied.
count int: The number of elements to be copied.
d float: the source array

copy2DRangeFrom

void copy2DRangeFrom (int xoff, 
                int yoff, 
                Bitmap data)

Bitmap复制到分配中。 更新的高度和宽度将使用Bitmap的高度和宽度。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
data Bitmap: the Bitmap to be copied

copy2DRangeFrom

void copy2DRangeFrom (int xoff, 
                int yoff, 
                int w, 
                int h, 
                byte[] data)

从数组中复制到此分配中的矩形区域。 该阵列被认为是紧密包装。 如果分配的Element不是8位整数,也不是8位整数Element.DataType的向量,则此类变量将进行类型检查并生成异常。

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,那么数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
w int: Width of the region to update
h int: Height of the region to update
data byte: to be placed into the Allocation

copy2DRangeFrom

void copy2DRangeFrom (int xoff, 
                int yoff, 
                int w, 
                int h, 
                Object array)

从数组中复制到此分配中的矩形区域。 该阵列被认为是紧密包装。 如果分配的Element与输入数据类型不匹配,则此类型将被检查并生成异常。

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
w int: Width of the region to update
h int: Height of the region to update
array Object: Data to be placed into the Allocation

copy2DRangeFrom

void copy2DRangeFrom (int xoff, 
                int yoff, 
                int w, 
                int h, 
                int[] data)

从数组中复制到此分配中的矩形区域。 该阵列被认为是紧密包装。 如果分配的Element不是32位整数,也不是32位整数Element.DataType的向量,则此类变量将进行类型检查并生成异常。

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
w int: Width of the region to update
h int: Height of the region to update
data int: to be placed into the Allocation

copy2DRangeFrom

void copy2DRangeFrom (int xoff, 
                int yoff, 
                int w, 
                int h, 
                float[] data)

从数组中复制到此分配中的矩形区域。 该阵列被认为是紧密包装。 该变型是类型检查并生成异常,如果分配的Element既不是32位浮点也不32位的向量浮标Element.DataType

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
w int: Width of the region to update
h int: Height of the region to update
data float: to be placed into the Allocation

copy2DRangeFrom

void copy2DRangeFrom (int xoff, 
                int yoff, 
                int w, 
                int h, 
                short[] data)

从数组中复制到此分配中的矩形区域。 该阵列被认为是紧密包装。 这种变体是类型检查,如果分配的会产生异常Element不是一个16位整数,也不是16点整数的向量Element.DataType

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素并且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
w int: Width of the region to update
h int: Height of the region to update
data short: to be placed into the Allocation

copy2DRangeFrom

void copy2DRangeFrom (int xoff, 
                int yoff, 
                int w, 
                int h, 
                Allocation data, 
                int dataXoff, 
                int dataYoff)

将分配中的矩形区域复制到此分配中的矩形区域。

Parameters
xoff int: X offset of the region in this Allocation
yoff int: Y offset of the region in this Allocation
w int: Width of the region to update.
h int: Height of the region to update.
data Allocation: source Allocation.
dataXoff int: X offset in source Allocation
dataYoff int: Y offset in source Allocation

copy2DRangeTo

void copy2DRangeTo (int xoff, 
                int yoff, 
                int w, 
                int h, 
                short[] data)

将此Allocation中的矩形区域复制到数组中。 如果分配的Element既不是16位整数,也不是16位整数Element.DataType的向量,则此类型会被检查并会生成异常。

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to copy in this Allocation
yoff int: Y offset of the region to copy in this Allocation
w int: Width of the region to copy
h int: Height of the region to copy
data short: Dest Array to be copied into

copy2DRangeTo

void copy2DRangeTo (int xoff, 
                int yoff, 
                int w, 
                int h, 
                byte[] data)

将此Allocation中的矩形区域复制到数组中。 如果分配的Element既不是8位整数,也不是8位整数Element.DataType的向量,则此类型会被检查并会生成异常。

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to copy in this Allocation
yoff int: Y offset of the region to copy in this Allocation
w int: Width of the region to copy
h int: Height of the region to copy
data byte: Dest Array to be copied into

copy2DRangeTo

void copy2DRangeTo (int xoff, 
                int yoff, 
                int w, 
                int h, 
                Object array)

将此Allocation中的矩形区域复制到数组中。 如果分配的Element与传入的数组的组件类型不匹配,则此方法将进行类型检查并生成异常。

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to copy in this Allocation
yoff int: Y offset of the region to copy in this Allocation
w int: Width of the region to copy
h int: Height of the region to copy
array Object: Dest Array to be copied into

copy2DRangeTo

void copy2DRangeTo (int xoff, 
                int yoff, 
                int w, 
                int h, 
                float[] data)

将此Allocation中的矩形区域复制到数组中。 该变型是类型检查并生成异常,如果分配的Element既不是32位浮点也不32位的向量浮标Element.DataType

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to copy in this Allocation
yoff int: Y offset of the region to copy in this Allocation
w int: Width of the region to copy
h int: Height of the region to copy
data float: Dest Array to be copied into

copy2DRangeTo

void copy2DRangeTo (int xoff, 
                int yoff, 
                int w, 
                int h, 
                int[] data)

将此Allocation中的矩形区域复制到数组中。 如果分配的Element既不是32位整数,也不是32位整数Element.DataType的向量,则此类变量将进行类型检查并生成异常。

该地区的大小是:w * h * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配有Vec3元素且AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素并且启用了AutoPadding ,则数组的大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to copy in this Allocation
yoff int: Y offset of the region to copy in this Allocation
w int: Width of the region to copy
h int: Height of the region to copy
data int: Dest Array to be copied into

copy3DRangeFrom

void copy3DRangeFrom (int xoff, 
                int yoff, 
                int zoff, 
                int w, 
                int h, 
                int d, 
                Object array)

在此分配中从数组复制到3D区域。 该阵列被认为是紧密包装。 如果分配的Element与输入数据类型不匹配,则此类型将被检查并生成异常。

该地区的大小是:w * h * d * getElement() getBytesSize()

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为区域的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为区域的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素并且启用了AutoPadding ,则数组的大小必须至少为区域大小的3/4。 单元格的填充字节不能是数组的一部分。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
zoff int: Z offset of the region to update in this Allocation
w int: Width of the region to update
h int: Height of the region to update
d int: Depth of the region to update
array Object: to be placed into the allocation

copy3DRangeFrom

void copy3DRangeFrom (int xoff, 
                int yoff, 
                int zoff, 
                int w, 
                int h, 
                int d, 
                Allocation data, 
                int dataXoff, 
                int dataYoff, 
                int dataZoff)

从另一个分配中将矩形区域复制到分配中。

Parameters
xoff int: X offset of the region to update in this Allocation
yoff int: Y offset of the region to update in this Allocation
zoff int: Z offset of the region to update in this Allocation
w int: Width of the region to update.
h int: Height of the region to update.
d int: Depth of the region to update.
data Allocation: source allocation.
dataXoff int: X offset of the region in the source Allocation
dataYoff int: Y offset of the region in the source Allocation
dataZoff int: Z offset of the region in the source Allocation

copyFrom

void copyFrom (Bitmap b)

Bitmap复制到分配。 位图的高度,宽度和格式必须与现有分配相匹配。

如果 Bitmap是一样的 Bitmap用于与创建分配 createFromBitmap(RenderScript, Bitmap)USAGE_SHARED被设置在分配,这会从最新数据的同步分配 Bitmap ,有可能避免实际的复制。

Parameters
b Bitmap: the source bitmap

copyFrom

void copyFrom (BaseObj[] d)

将RS对象数组复制到分配。

Parameters
d BaseObj: Source array.

copyFrom

void copyFrom (Allocation a)

从分配中复制分配。 两种分配的类型必须相同。

Parameters
a Allocation: the source allocation

copyFrom

void copyFrom (short[] d)

从数组复制到此分配中。 这种变体是类型检查,如果分配的会产生异常Element不是一个16位整数,也不是16个整数的向量Element.DataType

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配有Vec3元素并且AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d short: the source array

copyFrom

void copyFrom (int[] d)

从数组复制到此分配中。 如果分配的Element不是32位整数,也不是32位整数Element.DataType的向量,则此类变量将进行类型检查并生成异常。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少大于分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组的大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d int: the source array

copyFrom

void copyFrom (byte[] d)

从数组复制到此分配中。 如果分配的Element不是8位整数,也不是8位整数Element.DataType的向量,则此类型将进行类型检查并生成异常。

如果分配不包含Vec3元素,则数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组的大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d byte: the source array

copyFrom

void copyFrom (float[] d)

从数组复制到此分配中。 该变型是类型检查并生成异常,如果分配的Element既不是32位浮点也不32位的向量浮标Element.DataType

如果分配没有Vec3元素,那么以字节为单位的数组大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素且启用了AutoPadding ,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d float: the source array

copyFrom

void copyFrom (Object array)

从数组复制到此分配中。 如果分配的Element与数组的基本类型不匹配,则此类型将被检查并会生成异常。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素且AutoPadding已启用,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
array Object: The source array

copyFromUnchecked

void copyFromUnchecked (float[] d)

从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配具有Vec3元素且AutoPadding已启用,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d float: the source array

copyFromUnchecked

void copyFromUnchecked (Object array)

从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。

如果分配不包含Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
array Object: The source array

copyFromUnchecked

void copyFromUnchecked (short[] d)

从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素且AutoPadding已启用,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d short: the source array

copyFromUnchecked

void copyFromUnchecked (int[] d)

从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配有Vec3元素且AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素且AutoPadding已启用,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d int: the source array

copyFromUnchecked

void copyFromUnchecked (byte[] d)

从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。

如果分配没有Vec3元素,那么数组的大小必须至少大于分配 getBytesSize()的大小。

如果分配有Vec3元素且AutoPadding被禁用,则数组的大小必须至少大于分配getBytesSize()的大小。 单元的填充字节必须是数组的一部分。

如果分配有Vec3元素且AutoPadding已启用,则数组的大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d byte: the source array

copyTo

void copyTo (Bitmap b)

从分配中复制到Bitmap 位图必须与分配的维度相匹配。

Parameters
b Bitmap: The bitmap to be set from the Allocation.

copyTo

void copyTo (short[] d)

从分配中复制到一个短阵列中。 如果分配的Element不是16位整数,也不是16位整数Element.DataType的向量,则此类型会被检查类型并生成异常。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配有Vec3元素并且AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元格的填充字节将成为数组的一部分。

如果分配具有Vec3元素且启用了AutoPadding ,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d short: The array to be set from the Allocation.

copyTo

void copyTo (byte[] d)

从分配复制到一个字节数组中。 如果分配的Element既不是8位整数,也不是8位整数Element.DataType的向量,则此类变量将被检查类型并生成异常。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少大于分配getBytesSize()的大小。 单元格的填充字节将成为数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组的大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d byte: The array to be set from the Allocation.

copyTo

void copyTo (float[] d)

从分配中复制到浮点数组中。 该变型是类型检查并生成异常,如果分配的Element既不是32位浮点也不32位的向量浮标Element.DataType

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元格的填充字节将成为数组的一部分。

如果分配有Vec3元素,并且启用了AutoPadding ,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d float: The array to be set from the Allocation.

copyTo

void copyTo (int[] d)

从Allocation复制到一个int数组中。 如果分配的Element不是32位整数,也不是32位整数Element.DataType的向量,则此类变量将进行类型检查并生成异常。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3 Elements和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元格的填充字节将成为数组的一部分。

如果分配包含Vec3元素并启用了AutoPadding ,则数组大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
d int: The array to be set from the Allocation.

copyTo

void copyTo (Object array)

从分配复制到数组中。 如果分配的Element与输入数据类型不匹配,该方法将进行类型检查并生成异常。

如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()的大小。

如果分配的Vec3元素和AutoPadding被禁用,则数组的大小必须至少为分配getBytesSize()的大小。 单元格的填充字节将成为数组的一部分。

如果分配包含Vec3元素,并且启用了AutoPadding ,则数组的大小必须至少为分配getBytesSize() 3/4。 单元格的填充字节不能是数组的一部分。

Parameters
array Object: The array to be set from the Allocation.

createCubemapFromBitmap

Allocation createCubemapFromBitmap (RenderScript rs, 
                Bitmap b, 
                Allocation.MipmapControl mips, 
                int usage)

从包含立方体面的水平列表的Bitmap创建立方体Bitmap分配。 每个面必须是正方形,与所有其他面的大小相同,并且宽度为2的幂。

Parameters
rs RenderScript: Context to which the allocation will belong.
b Bitmap: Bitmap with cubemap faces layed out in the following format: right, left, top, bottom, front, back
mips Allocation.MipmapControl: specifies desired mipmap behaviour for the cubemap
usage int: bit field specifying how the cubemap is utilized
Returns
Allocation allocation containing cubemap data

createCubemapFromBitmap

Allocation createCubemapFromBitmap (RenderScript rs, 
                Bitmap b)

创建一个非mipmapped立方体贴图分配,用作Bitmap包含立方体面的水平列表的图形纹理。 每个面必须是正方形,与所有其他面的大小相同,并且宽度为2的幂。

Parameters
rs RenderScript: Context to which the allocation will belong.
b Bitmap: bitmap with cubemap faces layed out in the following format: right, left, top, bottom, front, back
Returns
Allocation allocation containing cubemap data

createCubemapFromCubeFaces

Allocation createCubemapFromCubeFaces (RenderScript rs, 
                Bitmap xpos, 
                Bitmap xneg, 
                Bitmap ypos, 
                Bitmap yneg, 
                Bitmap zpos, 
                Bitmap zneg)

创建一个非mipmapped立方体贴图分配,用作包含立方体面的6个Bitmap对象的采样器输入。 每个面必须是正方形,与所有其他面的大小相同,并且宽度为2的幂。

Parameters
rs RenderScript: Context to which the allocation will belong.
xpos Bitmap: cubemap face in the positive x direction
xneg Bitmap: cubemap face in the negative x direction
ypos Bitmap: cubemap face in the positive y direction
yneg Bitmap: cubemap face in the negative y direction
zpos Bitmap: cubemap face in the positive z direction
zneg Bitmap: cubemap face in the negative z direction
Returns
Allocation allocation containing cubemap data

createCubemapFromCubeFaces

Allocation createCubemapFromCubeFaces (RenderScript rs, 
                Bitmap xpos, 
                Bitmap xneg, 
                Bitmap ypos, 
                Bitmap yneg, 
                Bitmap zpos, 
                Bitmap zneg, 
                Allocation.MipmapControl mips, 
                int usage)

从包含立方体面的6个Bitmap对象创建立方体Bitmap分配。 每个面必须是正方形,与所有其他面的大小相同,并且宽度为2的幂。

Parameters
rs RenderScript: Context to which the allocation will belong.
xpos Bitmap: cubemap face in the positive x direction
xneg Bitmap: cubemap face in the negative x direction
ypos Bitmap: cubemap face in the positive y direction
yneg Bitmap: cubemap face in the negative y direction
zpos Bitmap: cubemap face in the positive z direction
zneg Bitmap: cubemap face in the negative z direction
mips Allocation.MipmapControl: specifies desired mipmap behaviour for the cubemap
usage int: bit field specifying how the cubemap is utilized
Returns
Allocation allocation containing cubemap data

createFromBitmap

Allocation createFromBitmap (RenderScript rs, 
                Bitmap b, 
                Allocation.MipmapControl mips, 
                int usage)

Bitmap创建一个分配。

Parameters
rs RenderScript: Context to which the allocation will belong.
b Bitmap: Bitmap source for the allocation data
mips Allocation.MipmapControl: specifies desired mipmap behaviour for the allocation
usage int: bit field specifying how the allocation is utilized
Returns
Allocation Allocation containing bitmap data

createFromBitmap

Allocation createFromBitmap (RenderScript rs, 
                Bitmap b)

Bitmap创建一个分配。

此分配将使用 USAGE_SHAREDUSAGE_SCRIPT创建。

Parameters
rs RenderScript: Context to which the allocation will belong.
b Bitmap: bitmap source for the allocation data
Returns
Allocation Allocation containing bitmap data

createFromBitmapResource

Allocation createFromBitmapResource (RenderScript rs, 
                Resources res, 
                int id)

创建一个非映射的分配,用作资源ID引用的 Bitmap的图形纹理。

此分配将使用 USAGE_SCRIPTUSAGE_GRAPHICS_TEXTURE创建。

Parameters
rs RenderScript: Context to which the allocation will belong.
res Resources: application resources
id int: resource id to load the data from
Returns
Allocation Allocation containing resource data

createFromBitmapResource

Allocation createFromBitmapResource (RenderScript rs, 
                Resources res, 
                int id, 
                Allocation.MipmapControl mips, 
                int usage)

从资源ID引用的位图创建分配。

Parameters
rs RenderScript: Context to which the allocation will belong.
res Resources: application resources
id int: resource id to load the data from
mips Allocation.MipmapControl: specifies desired mipmap behaviour for the allocation
usage int: bit field specifying how the allocation is utilized
Returns
Allocation Allocation containing resource data

createFromString

Allocation createFromString (RenderScript rs, 
                String str, 
                int usage)

创建一个包含以UTF-8格式编码的字符串数据的分配。

Parameters
rs RenderScript: Context to which the allocation will belong.
str String: string to create the allocation from
usage int: bit field specifying how the allocaiton is utilized
Returns
Allocation

createSized

Allocation createSized (RenderScript rs, 
                Element e, 
                int count, 
                int usage)

使用指定数量的给定元素创建一个分配

Parameters
rs RenderScript: Context to which the Allocation will belong.
e Element: Element to use in the Allocation
count int: the number of Elements in the Allocation
usage int: bit field specifying how the Allocation is utilized
Returns
Allocation allocation

createSized

Allocation createSized (RenderScript rs, 
                Element e, 
                int count)

使用指定数量的给定元素创建一个分配

Parameters
rs RenderScript: Context to which the Allocation will belong.
e Element: Element to use in the Allocation
count int: the number of Elements in the Allocation
Returns
Allocation allocation

createTyped

Allocation createTyped (RenderScript rs, 
                Type type)

创建一个分配,供具有给定 Type且没有 Type的脚本使用

Parameters
rs RenderScript: Context to which the Allocation will belong.
type Type: RenderScript Type describing data layout
Returns
Allocation allocation

createTyped

Allocation createTyped (RenderScript rs, 
                Type type, 
                int usage)

按照类型指定的大小创建一个Allocation,默认情况下不生成mipmap

Parameters
rs RenderScript: Context to which the allocation will belong.
type Type: renderscript type describing data layout
usage int: bit field specifying how the allocation is utilized
Returns
Allocation allocation

createTyped

Allocation createTyped (RenderScript rs, 
                Type type, 
                Allocation.MipmapControl mips, 
                int usage)

使用给定的 Type ,mipmap标志和使用标志创建新的分配。

Parameters
rs RenderScript
type Type: RenderScript type describing data layout
mips Allocation.MipmapControl: specifies desired mipmap behaviour for the allocation
usage int: bit field specifying how the Allocation is utilized
Returns
Allocation

destroy

void destroy ()

释放与此对象关联的任何本机资源。 主要用途是在相信GC不会足够快速响应时强制立即清理资源。 对于USAGE_IO_OUTPUT,destroy()意味着setSurface(null)。

generateMipmaps

void generateMipmaps ()

生成一个mipmap链。 这只有在分配类型包含mipmap时才有效。

该功能将从顶层LOD生成一套完整的mipmap并将它们放入脚本内存空间。

如果分配也使用其他内存空间,则需要调用 syncAll(Allocation.USAGE_SCRIPT)

getByteBuffer

ByteBuffer getByteBuffer ()

获取或创建一个包含当前分配的原始数据的ByteBuffer。

如果使用USAGE_IO_INPUT创建分配,则返回的ByteBuffer将包含最新数据为只读。 对于二维或三维分配,可以填充原始数据,以便分配的每一行具有一定的对齐。 可以使用getStride()方法查询每行的大小,包括填充,称为步幅。 注意:在已销毁的Allocation的ByteBuffer上操作会触发错误。 在Lollopop(API 21)之前,ByteBuffer对于设备是只读的。

Returns
ByteBuffer ByteBuffer The ByteBuffer associated with raw data pointer of the Allocation.

getBytesSize

int getBytesSize ()

以字节为单位获取分配的大小。

Returns
int size of the Allocation in bytes.

getElement

Element getElement ()

获取分配的 ElementType

Returns
Element Element

getIncAllocID

long getIncAllocID ()

Get Support&Setter用于Inc Support Lib的虚拟分配。

Returns
long

getStride

long getStride ()

获取分配的步幅。 对于二维或三维分配,可以填充原始数据,以便分配的每一行具有一定的对齐。 包含这种填充的每一行的大小称为步幅。

Returns
long the stride. For 1D Allocation, the stride will be the number of bytes of this Allocation. For 2D and 3D Allocations, the stride will be the stride in X dimension measuring in bytes.

getType

Type getType ()

获取分配的 Type

Returns
Type Type

getUsage

int getUsage ()

获取分配的使用标志。

Returns
int usage this Allocation's set of the USAGE_* flags OR'd together

ioReceive

void ioReceive ()

接收分配中的最新输入。 此操作仅在分配上设置USAGE_IO_INPUT有效。

ioSend

void ioSend ()

发送缓冲区到输出流。 此操作后,分配的内容将不确定。 此操作仅在分配上设置USAGE_IO_OUTPUT有效。

ioSendOutput

void ioSendOutput ()

代码更新后删除。

setAutoPadding

void setAutoPadding (boolean useAutoPadding)

当数据从Allocation复制到数组时,指定Allocation的单元格和数组元素之间的映射,反之亦然。 仅适用于元素为长度为3的矢量的分配(例如U8_3(RenderScript)RGB_888(RenderScript) )。 启用此功能可能会使数据从“分配”复制到阵列,反之则效率降低。

Vec3元素单元以相同的Element.DataType作为Vec4元素单元存储在一个分配中,第四个向量组件作为填充处理。 启用此功能后,只有数据组件(即每个单元格的前3个矢量组件)将映射到数组和分配之间。 禁用时,需要显式映射填充组件,如以下示例中所述。

例如,使用 copyFrom(int[])将整数数组复制到两个 I32_3(RenderScript)单元的分配时:

禁用时:数组必须至少包含8个整数,并将前4个整数复制到分配的第一个单元格中,并将接下来的4个整数复制到第二个单元格中。 第4和第8个整数被映射为填充组件。

启用时:数组只需要至少有6个整数,前3个整数作为数据组件复制到第一个单元,而下一个3被复制到第二个单元。 没有填充组件的映射。

同样,使用 copyFromUnchecked(int[])将字节数组复制到两个 I32_3(RenderScript)单元的“分配”时:

禁用时:阵列必须至少有32个字节,前16个字节复制到分配的第一个单元,接下来的16个字节复制到第二个单元。 第13-16字节和第29-32字节被映射为填充组件。

启用时:阵列只需要至少24个字节,前12个字节复制到分配的第一个单元,接下来的12个字节复制到第二个单元。 没有填充组件的映射。

与将数据复制到阵列的分配类似,将数据从分配复制到阵列时,如果启用AutoPadding,则Vec3元素单元的填充组件将不会复制/映射到阵列。

默认值:已禁用。

Parameters
useAutoPadding boolean: True: enable AutoPadding; False: disable AutoPadding

setFromFieldPacker

void setFromFieldPacker (int xoff, 
                int component_number, 
                FieldPacker fp)

这只适用于RenderScript脚本文件反映的自动生成的代码。

setFromFieldPacker

void setFromFieldPacker (int xoff, 
                FieldPacker fp)

这只适用于由RenderScript脚本文件反映的自动生成的代码,不应该由开发人员使用。

setIncAllocID

void setIncAllocID (long id)

Parameters
id long

setSurface

void setSurface (Surface sur)

Surface与此分配相关联。 该操作仅适用于USAGE_IO_OUTPUT分配。

Parameters
sur Surface: Surface to associate with allocation

syncAll

void syncAll (int srcLocation)

将分配的一种用法更改为分配的其他用法。

Parameters
srcLocation int

Protected methods

finalize

void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类重写finalize方法来处置系统资源或执行其他清理。

finalize的一般协议是,如果当Java TM虚拟机已经确定不再有任何方法可以通过任何尚未死亡的线程访问该对象时,除非作为动作的结果取决于某些其他可以完成的对象或类别的最终定稿。 finalize方法可以采取任何行动,包括使这个对象再次可用于其他线程; 但是, finalize的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

finalize类的finalize方法Object执行特殊操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不保证哪个线程将为任何给定对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

在针对某个对象调用 finalize方法之后,在Java虚拟机再次确定不再有任何方法可以通过任何尚未死亡的线程访问此对象的方法之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定的对象,Java虚拟机永远不会多次调用 finalize方法。

finalize方法抛出的任何异常 finalize导致此对象的终止被暂停,但在其他情况下会被忽略。

Throws
Throwable

Hooray!