使用 ActionScript ByteArray 对象

使用 ActionScript ByteArray 类可高效地在扩展的 ActionScript 端和 Java 端之间传递大量字节。 FREByteArray 类使用以下用于操作字节数组对象的方法扩展 FREObject

  • acquire()

  • getLength()

  • getBytes()

  • release()

若要操作 Java 代码中的 ByteArray 对象的字节,请使用 FREByteArray acquire() 方法,接着再使用 getBytes() 方法。操作完字节后,请使用 FREByteArray release() 方法。

在调用 acquire() release() 之间,请勿调用(任何对象,而不仅仅是获取的对象的)任何 FREObject 方法。存在这种限制的原因是其他调用执行的代码会产生副作用,会使字节数组对象或其内容无效。

复制到所获取 FREByteArray 对象的 bytes 字段中的字节数请勿超过 length 字段指定的数值。ActionScript 端将忽略任何多余字节。

可使用静态工厂方法 FREByteArray.newByteArray() 新建 FREByteArray 对象。新字节数组为空。若要从 Java 向其添加数据,必须首先设置 ActionScript length 属性:

FREByteArray freByteArray = freByteArray = FREByteArray.newByteArray(); 
freByteArray.setProperty( "length", FREObject.newObject( 12 ) ); 
freByteArray.acquire(); 
ByteBuffer bytes = freByteArray.getBytes(); 
//set the data 
freByteArray.release();