Most visited

Recently visited

Added in API level 11

Allocation

public class Allocation
extends BaseObj

java.lang.Object
   ↳ android.renderscript.BaseObj
     ↳ android.renderscript.Allocation
Known Direct Subclasses


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

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

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

Developer Guides

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

Summary

Nested classes

枚举 Allocation.MipmapControl

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

interface Allocation.OnBufferAvailableListener

通过USAGE_IO_INPUT提供新缓冲区时处理通知的接口。

Constants

int USAGE_GRAPHICS_CONSTANTS

该分配将被一个或多个程序用作着色器常量的来源。

int USAGE_GRAPHICS_RENDER_TARGET

分配将用作屏幕外渲染的目标这在API级别16中已弃用。

int USAGE_GRAPHICS_TEXTURE

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

int USAGE_GRAPHICS_VERTEX

分配将用作图形网格。

int USAGE_IO_INPUT

分配将用作 Surface消费者。

int USAGE_IO_OUTPUT

分配将用作 Surface生产者。

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, Allocation data, int dataOff)

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

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

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

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, int w, int h, Allocation data, int dataXoff, int dataYoff)

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

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 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, Allocation data, int dataXoff, int dataYoff, int dataZoff)

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

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

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

void copy3DRangeTo(int xoff, int yoff, int zoff, int w, int h, int d, Object array)
void copyFrom(Bitmap b)

Bitmap复制到分配。

void copyFrom(short[] d)

从数组复制到此分配中。

void copyFrom(int[] d)

从数组复制到此分配中。

void copyFrom(BaseObj[] d)

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

void copyFrom(byte[] d)

从数组复制到此分配中。

void copyFrom(float[] d)

从数组复制到此分配中。

void copyFrom(Allocation a)

从分配中复制分配。

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[] createAllocations(RenderScript rs, Type t, int usage, int numAlloc)

用给定的 Type和使用标志创建一个新的分配数组。

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)

Bitmap创建一个分配。

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

Bitmap创建一个分配。

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

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

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

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

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

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

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

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

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

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

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

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

static Allocation createTyped(RenderScript rs, Type type)

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

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

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

void destroy()

对于USAGE_IO_OUTPUT,destroy()意味着setSurface(null)。

void generateMipmaps()

生成一个mipmap链。

ByteBuffer getByteBuffer()

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

int getBytesSize()

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

Element getElement()

获取分配的 ElementType

long getStride()

获取分配的步幅。

Surface getSurface()

返回由屏幕合成器管理的原始缓冲区的句柄。

long getTimeStamp()

获取此Allocation拥有的最新缓冲区的时间戳。

Type getType()

获取分配的 Type

int getUsage()

获取分配的使用标志。

void ioReceive()

接收分配中的最新输入。

void ioSend()

发送缓冲区到输出流。

void resize(int dimX)

此方法在API级别18中已弃用。RenderScript对象在创建后应为不可变的。 替换是创建一个新的分配并复制内容。 如果使用API 21或更高版本,此函数将引发异常。

void setAutoPadding(boolean useAutoPadding)

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

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

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

void setFromFieldPacker(int xoff, FieldPacker fp)

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

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

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

void setOnBufferAvailableListener(Allocation.OnBufferAvailableListener callback)

USAGE_IO_INPUT设置通知处理程序。

void setSurface(Surface sur)

Surface与此分配相关联。

void syncAll(int srcLocation)

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

Protected methods

void finalize()

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

Inherited methods

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

Constants

USAGE_GRAPHICS_CONSTANTS

Added in API level 11
int USAGE_GRAPHICS_CONSTANTS

该分配将被一个或多个程序用作着色器常量的来源。 这在API级别16中已被弃用。

常量值:8(0x00000008)

USAGE_GRAPHICS_RENDER_TARGET

Added in API level 14
int USAGE_GRAPHICS_RENDER_TARGET

分配将用作屏幕外渲染的目标这在API级别16中已弃用。

常量值:16(0x00000010)

USAGE_GRAPHICS_TEXTURE

Added in API level 11
int USAGE_GRAPHICS_TEXTURE

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

常量值:2(0x00000002)

USAGE_GRAPHICS_VERTEX

Added in API level 11
int USAGE_GRAPHICS_VERTEX

分配将用作图形网格。 这在API级别16中已被弃用。

常量值:4(0x00000004)

USAGE_IO_INPUT

Added in API level 16
int USAGE_IO_INPUT

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

常量值:32(0x00000020)

USAGE_IO_OUTPUT

Added in API level 16
int USAGE_IO_OUTPUT

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

常量值:64(0x00000040)

USAGE_SCRIPT

Added in API level 11
int USAGE_SCRIPT

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

常数值:1(0x00000001)

USAGE_SHARED

Added in API level 18
int USAGE_SHARED

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

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

常量值:128(0x00000080)

Public methods

copy1DRangeFrom

Added in API level 11
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

Added in API level 11
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

Added in API level 21
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

Added in API level 14
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

Added in API level 11
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

Added in API level 11
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

Added in API level 11
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

Added in API level 11
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

Added in API level 21
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

Added in API level 11
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

Added in API level 11
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 14
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

copy2DRangeFrom

Added in API level 11
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

Added in API level 11
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

Added in API level 21
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

Added in API level 11
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

Added in API level 11
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

Added in API level 11
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

copy2DRangeTo

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

Added in API level 23
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

copy3DRangeFrom

Added in API level 23
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

copy3DRangeTo

Added in API level 23
void copy3DRangeTo (int xoff, 
                int yoff, 
                int zoff, 
                int w, 
                int h, 
                int d, 
                Object array)

Parameters
xoff int
yoff int
zoff int
w int
h int
d int
array Object

copyFrom

Added in API level 11
void copyFrom (Bitmap b)

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

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

Parameters
b Bitmap: the source bitmap

copyFrom

Added in API level 11
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

Added in API level 11
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

Added in API level 11
void copyFrom (BaseObj[] d)

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

Parameters
d BaseObj: Source array.

copyFrom

Added in API level 11
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

Added in API level 11
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

Added in API level 18
void copyFrom (Allocation a)

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

Parameters
a Allocation: the source allocation

copyFrom

Added in API level 21
void copyFrom (Object array)

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

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

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

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

Parameters
array Object: The source array

copyFromUnchecked

Added in API level 11
void copyFromUnchecked (float[] d)

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

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

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

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

Parameters
d float: the source array

copyFromUnchecked

Added in API level 21
void copyFromUnchecked (Object array)

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

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

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

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

Parameters
array Object: The source array

copyFromUnchecked

Added in API level 11
void copyFromUnchecked (short[] d)

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

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

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

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

Parameters
d short: the source array

copyFromUnchecked

Added in API level 11
void copyFromUnchecked (int[] d)

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

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

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

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

Parameters
d int: the source array

copyFromUnchecked

Added in API level 11
void copyFromUnchecked (byte[] d)

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

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

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

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

Parameters
d byte: the source array

copyTo

Added in API level 11
void copyTo (Bitmap b)

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

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

copyTo

Added in API level 11
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

Added in API level 11
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

Added in API level 11
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

Added in API level 11
void copyTo (int[] d)

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

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

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

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

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

copyTo

Added in API level 21
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.

createAllocations

Added in API level 24
Allocation[] createAllocations (RenderScript rs, 
                Type t, 
                int usage, 
                int numAlloc)

用给定的Type和使用标志创建一个新的分配数组。 注意:如果输入分配的用法是:USAGE_IO_INPUT,则创建的Allocation将共享相同的BufferQueue。

Parameters
rs RenderScript: RenderScript context
t Type: RenderScript type describing data layout
usage int: bit field specifying how the Allocation is utilized
numAlloc int: Number of Allocations in the array.
Returns
Allocation[] Allocation[]

createCubemapFromBitmap

Added in API level 11
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

Added in API level 11
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

Added in API level 11
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

Added in API level 11
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

Added in API level 11
Allocation createFromBitmap (RenderScript rs, 
                Bitmap b)

Bitmap创建一个分配。

随着目标API版本18或更高,这种分配将被创建USAGE_SHAREDUSAGE_SCRIPT ,并USAGE_GRAPHICS_TEXTURE 如果目标API版本为17或更低,则将使用USAGE_GRAPHICS_TEXTURE创建此分配。

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

createFromBitmap

Added in API level 11
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

createFromBitmapResource

Added in API level 11
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

createFromBitmapResource

Added in API level 11
Allocation createFromBitmapResource (RenderScript rs, 
                Resources res, 
                int id)

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

对于目标API版本18或更高版本,将使用USAGE_SCRIPTUSAGE_GRAPHICS_TEXTURE创建此分配。 对于目标API版本17或更低版本,将使用USAGE_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

createFromString

Added in API level 11
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

Added in API level 11
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

createSized

Added in API level 11
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

createTyped

Added in API level 11
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

createTyped

Added in API level 11
Allocation createTyped (RenderScript rs, 
                Type type)

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

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

createTyped

Added in API level 11
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

destroy

Added in API level 11
void destroy ()

对于USAGE_IO_OUTPUT,destroy()意味着setSurface(null)。

generateMipmaps

Added in API level 11
void generateMipmaps ()

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

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

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

getByteBuffer

Added in API level 24
ByteBuffer getByteBuffer ()

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

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

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

getBytesSize

Added in API level 16
int getBytesSize ()

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

Returns
int size of the Allocation in bytes.

getElement

Added in API level 16
Element getElement ()

获取分配的 ElementType

Returns
Element Element

getStride

Added in API level 24
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.

getSurface

Added in API level 16
Surface getSurface ()

返回由屏幕合成器管理的原始缓冲区的句柄。 此操作仅适用于USAGE_IO_INPUT分配。

Returns
Surface Surface object associated with allocation

getTimeStamp

Added in API level 24
long getTimeStamp ()

获取此Allocation拥有的最新缓冲区的时间戳。 时间戳保证是唯一的,单调递增。 默认值:-1。 时间戳将在每次ioReceive()通话后更新。 通过比较使用android.hardware.camera2 API时的唯一时间戳,可以将其用于识别图像。 示例步骤:1.捕获完成时保存TotalCaptureResult 2.获得ioReceive()电话后的时间戳。 3.比较totalCaptureResult.get(CaptureResult.SENSOR_TIMESTAMP)和alloc.getTimeStamp()。

Returns
long long Timestamp associated with the buffer held by the Allocation.

getType

Added in API level 11
Type getType ()

获取分配的 Type

Returns
Type Type

getUsage

Added in API level 16
int getUsage ()

获取分配的使用标志。

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

ioReceive

Added in API level 16
void ioReceive ()

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

ioSend

Added in API level 16
void ioSend ()

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

resize

Added in API level 11
void resize (int dimX)

此方法在API级别18中已被弃用。
RenderScript对象一旦创建就应该是不可变的。 替换是创建一个新的分配并复制内容。 如果使用API 21或更高版本,此函数将引发异常。

调整一维分配的大小。 分配的内容被保留。 如果分配了新元素,则使用空内容创建对象,否则新区域未定义。

如果新区域较小,则将释放新区域之外的任何对象的引用。

新的维度将创建一个新的类型。

Parameters
dimX int: The new size of the allocation.

setAutoPadding

Added in API level 23
void setAutoPadding (boolean useAutoPadding)

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

Vec3元素单元格作为Vec4元素单元格以相同的Element.DataType存储在“分配”中,第四个向量组件被视为填充。 启用此功能后,只有数据组件(即每个单元格的前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

Added in API level 11
void setFromFieldPacker (int xoff, 
                int component_number, 
                FieldPacker fp)

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

setFromFieldPacker

Added in API level 11
void setFromFieldPacker (int xoff, 
                FieldPacker fp)

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

setFromFieldPacker

Added in API level 23
void setFromFieldPacker (int xoff, 
                int yoff, 
                int zoff, 
                int component_number, 
                FieldPacker fp)

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

setOnBufferAvailableListener

Added in API level 19
void setOnBufferAvailableListener (Allocation.OnBufferAvailableListener callback)

USAGE_IO_INPUT设置通知处理程序。

Parameters
callback Allocation.OnBufferAvailableListener: instance of the OnBufferAvailableListener class to be called when buffer arrive.

setSurface

Added in API level 16
void setSurface (Surface sur)

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

Parameters
sur Surface: Surface to associate with allocation

syncAll

Added in API level 11
void syncAll (int srcLocation)

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

Parameters
srcLocation int

Protected methods

finalize

Added in API level 11
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!