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

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

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

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

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

1 ответ

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

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

Другие вопросы по тегам