使用 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();