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[])
方法从字节数组或类似结构复制。
有关创建使用RenderScript的应用程序的更多信息,请阅读 RenderScript开发人员指南。
Nested classes |
|
---|---|
枚举 |
Allocation.MipmapControl 控制使用位图创建和更新功能时的mipmap行为。 |
Constants |
|
---|---|
int |
USAGE_GRAPHICS_TEXTURE 分配将被一个或多个图形程序用作纹理源。 |
int |
USAGE_IO_INPUT 分配将用作 |
int |
USAGE_IO_OUTPUT 分配将用作 |
int |
USAGE_SCRIPT 分配将被绑定到脚本并被脚本访问。 |
int |
USAGE_SHARED 分配的后备存储将从另一个对象(通常是 |
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) 将 |
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) 复制到 |
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) 从分配中复制到 |
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) |
static Allocation |
createCubemapFromBitmap(RenderScript rs, Bitmap b) 创建一个非mipmapped立方体贴图分配,用作包含立方体面的水平列表的 |
static Allocation |
createCubemapFromCubeFaces(RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg) 创建一个非mipmapped立方体贴图分配,用作包含立方体面的6个 |
static Allocation |
createCubemapFromCubeFaces(RenderScript rs, Bitmap xpos, Bitmap xneg, Bitmap ypos, Bitmap yneg, Bitmap zpos, Bitmap zneg, Allocation.MipmapControl mips, int usage) |
static Allocation |
createFromBitmap(RenderScript rs, Bitmap b, Allocation.MipmapControl mips, int usage) 从 |
static Allocation |
createFromBitmap(RenderScript rs, Bitmap b) 从 |
static Allocation |
createFromBitmapResource(RenderScript rs, Resources res, int id) 创建一个非mipmapped分配,用作资源ID引用的 |
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) |
static Allocation |
createTyped(RenderScript rs, Type type, int usage) 按照类型指定的大小创建一个Allocation,默认情况下不生成mipmap |
static Allocation |
createTyped(RenderScript rs, Type type, Allocation.MipmapControl mips, int usage) 使用给定的 |
void |
destroy() 释放与此对象关联的任何本机资源。 |
void |
generateMipmaps() 生成一个mipmap链。 |
ByteBuffer |
getByteBuffer() 获取或创建一个包含当前分配的原始数据的ByteBuffer。 |
int |
getBytesSize() 以字节为单位获取分配的大小。 |
Element |
getElement() |
long |
getIncAllocID() Get Support&Setter用于Inc Support Lib的虚拟分配。 |
long |
getStride() 获取分配的步幅。 |
Type |
getType() 获取分配的 |
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) 将 |
void |
syncAll(int srcLocation) 将分配的一种用法更改为分配的其他用法。 |
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class android.support.v8.renderscript.BaseObj
|
|
From class java.lang.Object
|
int USAGE_GRAPHICS_TEXTURE
分配将被一个或多个图形程序用作纹理源。
常量值:2(0x00000002)
int USAGE_IO_OUTPUT
分配将用作SurfaceTexture
生产者。 SurfaceTexture
的尺寸和格式将被强制为分配的尺寸和格式。
常量值:64(0x00000040)
int USAGE_SCRIPT
分配将被绑定到脚本并被脚本访问。
常数值:1(0x00000001)
int USAGE_SHARED
分配的后台存储将从另一个对象(通常是Bitmap
)继承; 复制到或从原始源位图将导致同步而不是完整副本。 syncAll(int)
也可能用于同步分配和源位图。
默认情况下,对于使用API版本18和更高版本中的 createFromBitmap(RenderScript, Bitmap)
创建的分配,这是默认设置。
常量值:128(0x00000080)
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. |
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 |
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. |
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 |
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. |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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. |
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 |
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. |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
void copyFrom (Bitmap b)
从Bitmap
复制到分配。 位图的高度,宽度和格式必须与现有分配相匹配。
如果 Bitmap
是一样的 Bitmap
用于与创建分配 createFromBitmap(RenderScript, Bitmap)
和 USAGE_SHARED
被设置在分配,这会从最新数据的同步分配 Bitmap
,有可能避免实际的复制。
Parameters | |
---|---|
b |
Bitmap : the source bitmap |
void copyFrom (Allocation a)
从分配中复制分配。 两种分配的类型必须相同。
Parameters | |
---|---|
a |
Allocation : the source allocation |
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 |
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 |
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 |
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 |
void copyFrom (Object array)
从数组复制到此分配中。 如果分配的Element
与数组的基本类型不匹配,则此类型将被检查并会生成异常。
如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()
的大小。
如果分配的Vec3元素和AutoPadding
被禁用,则数组的大小必须至少为分配getBytesSize()
的大小。 单元的填充字节必须是数组的一部分。
如果分配有Vec3元素且AutoPadding
已启用,则数组大小必须至少为分配getBytesSize()
3/4。 单元格的填充字节不能是数组的一部分。
Parameters | |
---|---|
array |
Object : The source array |
void copyFromUnchecked (float[] d)
从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。
如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()
的大小。
如果分配的Vec3元素和AutoPadding
被禁用,则数组的大小必须至少为分配getBytesSize()
的大小。 单元的填充字节必须是数组的一部分。
如果分配具有Vec3元素且AutoPadding
已启用,则数组大小必须至少为分配getBytesSize()
3/4。 单元格的填充字节不能是数组的一部分。
Parameters | |
---|---|
d |
float : the source array |
void copyFromUnchecked (Object array)
从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。
如果分配不包含Vec3元素,那么数组的大小必须至少为分配 getBytesSize()
的大小。
如果分配的Vec3元素和AutoPadding
被禁用,则数组的大小必须至少为分配getBytesSize()
的大小。 单元的填充字节必须是数组的一部分。
如果分配包含Vec3元素,并且启用了AutoPadding
,则数组大小必须至少为分配getBytesSize()
3/4。 单元格的填充字节不能是数组的一部分。
Parameters | |
---|---|
array |
Object : The source array |
void copyFromUnchecked (short[] d)
从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。
如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()
的大小。
如果分配的Vec3元素和AutoPadding
被禁用,则数组的大小必须至少为分配getBytesSize()
的大小。 单元的填充字节必须是数组的一部分。
如果分配有Vec3元素且AutoPadding
已启用,则数组大小必须至少为分配getBytesSize()
3/4。 单元格的填充字节不能是数组的一部分。
Parameters | |
---|---|
d |
short : the source array |
void copyFromUnchecked (int[] d)
从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。
如果分配没有Vec3元素,那么数组的大小必须至少为分配 getBytesSize()
的大小。
如果分配有Vec3元素且AutoPadding
被禁用,则数组的大小必须至少为分配getBytesSize()
的大小。 单元的填充字节必须是数组的一部分。
如果分配有Vec3元素且AutoPadding
已启用,则数组大小必须至少为分配getBytesSize()
3/4。 单元格的填充字节不能是数组的一部分。
Parameters | |
---|---|
d |
int : the source array |
void copyFromUnchecked (byte[] d)
从数组复制到此分配中。 此方法不保证分配与输入缓冲区兼容; 它复制内存而不重新解释。
如果分配没有Vec3元素,那么数组的大小必须至少大于分配 getBytesSize()
的大小。
如果分配有Vec3元素且AutoPadding
被禁用,则数组的大小必须至少大于分配getBytesSize()
的大小。 单元的填充字节必须是数组的一部分。
如果分配有Vec3元素且AutoPadding
已启用,则数组的大小必须至少为分配getBytesSize()
3/4。 单元格的填充字节不能是数组的一部分。
Parameters | |
---|---|
d |
byte : the source array |
void copyTo (Bitmap b)
从分配中复制到Bitmap
。 位图必须与分配的维度相匹配。
Parameters | |
---|---|
b |
Bitmap : The bitmap to be set from the Allocation. |
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. |
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. |
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. |
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. |
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. |
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 |
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 |
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 |
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 |
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 |
Allocation createFromBitmap (RenderScript rs, Bitmap b)
从 Bitmap
创建一个分配。
此分配将使用 USAGE_SHARED
和 USAGE_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 |
Allocation createFromBitmapResource (RenderScript rs, Resources res, int id)
创建一个非映射的分配,用作资源ID引用的 Bitmap
的图形纹理。
此分配将使用 USAGE_SCRIPT
和 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
void destroy ()
释放与此对象关联的任何本机资源。 主要用途是在相信GC不会足够快速响应时强制立即清理资源。 对于USAGE_IO_OUTPUT,destroy()意味着setSurface(null)。
void generateMipmaps ()
生成一个mipmap链。 这只有在分配类型包含mipmap时才有效。
该功能将从顶层LOD生成一套完整的mipmap并将它们放入脚本内存空间。
如果分配也使用其他内存空间,则需要调用 syncAll(Allocation.USAGE_SCRIPT)
。
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. |
int getBytesSize ()
以字节为单位获取分配的大小。
Returns | |
---|---|
int |
size of the Allocation in bytes. |
long getIncAllocID ()
Get Support&Setter用于Inc Support Lib的虚拟分配。
Returns | |
---|---|
long |
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. |
int getUsage ()
获取分配的使用标志。
Returns | |
---|---|
int |
usage this Allocation's set of the USAGE_* flags OR'd together |
void ioSendOutput ()
代码更新后删除。
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 |
void setFromFieldPacker (int xoff, int component_number, FieldPacker fp)
这只适用于RenderScript脚本文件反映的自动生成的代码。
void setFromFieldPacker (int xoff, FieldPacker fp)
这只适用于由RenderScript脚本文件反映的自动生成的代码,不应该由开发人员使用。
void setIncAllocID (long id)
Parameters | |
---|---|
id |
long
|
void setSurface (Surface sur)
将Surface
与此分配相关联。 该操作仅适用于USAGE_IO_OUTPUT
分配。
Parameters | |
---|---|
sur |
Surface : Surface to associate with allocation |
void syncAll (int srcLocation)
将分配的一种用法更改为分配的其他用法。
Parameters | |
---|---|
srcLocation |
int
|
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 |