Создание приложения для iOS с помощью Adobe Flex Builder - проблемы производительности - PullRequest
4 голосов
/ 24 октября 2011

Я создаю приложение для iOS с помощью Adobe Flex Builder и собираю его в .ipa с помощью инструментов Adobe.

В ходе первоначального тестирования я вижу, что конечный результат не такой богатый, как собственный код, и не такой быстрый или плавный.

Не говоря просто: «Почему вы просто не используете target-c», есть ли документация о накладных расходах на создание приложения таким образом?

В частности, какой тип снижения производительности можно ожидать при использовании платформы Adobe вместо этого?

Ответы [ 2 ]

8 голосов
/ 25 октября 2011

Убедитесь, что вы используете последнюю версию пакета AIR 3.0 SDK для iOS.Это заметно более высокая производительность.

При разработке приложения учитывайте лучшие практики:

http://www.adobe.com/devnet/flash/articles/optimize_content_ios.html

http://help.adobe.com/en_US/as3/mobile/flashplatform_optimizing_content.pdf

http://www.mikechambers.com/blog/files/presentations/fitc_amsterdam_2010/flash_iphone_fitc_2010.pdf

Всеобъемлющие сравнения с родным Objective-C - это широкая тема, к которой следует учитывать возможность повсеместного развертывания Flash на нескольких платформах, если вы ориентируетесь на Android и BlackBerry.

Возможно, цитирование конкретных вопросов вашей реализации поможет получить представление.

6 голосов
/ 03 ноября 2011

Я тоже разрабатывал приложение для iOS на основе Flash. Мой первоначальный прототип был бесполезен в iPad 1. Мне пришлось искать способы оптимизации. Мой второй прототип работает довольно хорошо. Итак, вот несколько указателей.

1) Не используйте таймеры. Мне пришлось написать собственную утилиту класса FrameWorker Singleton для управления и делегирования всех моих анимаций или даже отложенных действий одному событию enterFrame. Одно это даст вам огромный прирост скорости.

2) Не используйте много событий enterFrame для разных объектов. Как я уже говорил в первом пункте, найдите способ использовать один enterFrame, к которому вы можете добавлять и удалять процессы.

3) Избегайте векторов, насколько это возможно, используйте изображения. Если вам нужно рисовать объекты в Flash IDE или с помощью скрипта действия, используйте cacheAsBitmap = true.

4) Не используйте визуальные объекты, которые намного больше, чем область экрана. Если вам нужно использовать крупные объекты по всему экрану, то управляйте ими из списка отображения и изучайте техники блиц-рисования, чтобы рисовать на экране ТОЛЬКО прямоугольник, который будет отображаться в это время. У Ли Бримлоу есть несколько хороших стартовых уроков.

5) Будьте очень дисциплинированными в управлении событиями. Убедитесь, что вы всегда удаляете слушателей, которые больше не нужны, например.

6) Распределите нагрузку вашего приложения на разные кадры. Не делайте слишком много интенсивных вещей в одном кадре.

Если вы будете следовать этим указаниям, ваше приложение будет работать так же быстро, как и любое другое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...