Air Native Extensions: как выделить массив байтов и управлять его памятью?

Я думаю о написании ANE на основе C, чтобы ускорить критическую часть моего приложения. Он должен получить массив байтов с данными, выполнить некоторую обработку и вернуть другой массив байтов.

Выходной массив ByteArray будет создан (и распределен по распределению) на стороне C моего ANE. Мои вопросы:

Возможно ли это сделать и как? (пример на сайте Adobe довольно плохой; он просто изменяет входной массив ByteArray, даже не меняя его размер)

Если бы мне удалось это сделать, была бы сторона AS ответственной за освобождение памяти возвращаемого объекта посредством обычной сборки мусора?


person Eduardo    schedule 09.05.2012    source источник


Ответы (1)


Идея состоит в том, чтобы передать пустой ByteArray на стороне AS3 и манипулировать объектом на стороне C.

Вы не можете вернуть ByteArray (или BitmapData в этом отношении) со стороны C, потому что он существует на стороне C как struct, который несовместим с FREObject, который API ожидает от вас.

person jdangerslater    schedule 19.07.2012