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 ожидает, что вы вернетесь.