FlasCC SWC в рамках проекта Mobile AIR

Я пишу сканер штрих-кода для iOS и Android, используя Flex Mobile и ZXing. Я максимально оптимизировал ZXing, но он все еще слишком медленный для непрерывного сканирования на некоторых старых устройствах. Я извлек часть тяжелой работы в C SWIG с использованием FlasCC и получил довольно приличные ускорения во время сканирования. Однако при тестировании на реальном устройстве я получаю ошибки при запуске приложения. Консоль отладки говорит "Mutex не может быть инициализирован" и вылетает. Убирая звонки на мой SWC, приложение запускается просто отлично. Прежде всего, возможно ли использование этого типа SWC даже на мобильном устройстве? Если так, что я делаю не так? Кроме того, размер сгенерированной библиотеки довольно большой (400 КБ +). Есть ли способ уменьшить размер, исключив весь лишний пух?

3 ответа

Решение

Хотя вы можете использовать FlasCC для мобильных устройств, я бы не советовал: ваш код может работать на собственной скорости и у вас есть доступ к API-интерфейсам ОС. Вы смотрели на Air Native Extensions?

Это старый вопрос, но в случае, если кто-то еще сталкивается с этой проблемой:

У меня была та же проблема, и исправление было просто перекомпилировать мой FlasCC SWC, используя последнюю версию FlasCC (теперь известную как CrossBridge).

Я использовал CrossBridge версии 1.0.1, и он добился цели.

AIR для мобильных устройств пока не поддерживает Flash Workers, на которых основана многопоточность FlasCC. Вы пытаетесь запустить ZXing в фоновом потоке, или вы компилируете свой FlasCC SWC с "-pthread"?

[править] На самом деле в нашем коде запуска для AIR mobile может быть ошибка, даже если код FlasCC не является многопоточным... тестирование исправления сейчас

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