PhoneGap 1.4 упаковка Sencha Touch 2.X – Как насчет производительности?

Я создаю планшетное приложение с множеством платформ, которое обертывает его с помощью Phonegap 1.4, используя только его веб-просмотр, затем я использую свою магию с помощью рамки Sencha Touch 2. По мультиплатформенной я имею в виду iOS 5.X + и Android 3.0+ (на данный момент).

Это приложение отлично работает до сих пор, все его функции работают на обеих системах, но … На планшете Android (Samsung GalaxyTab) очень медленно. Что происходит? Могу ли я что-то сделать с этим, или его лимит просто андроида?

благодаря

Рикардо Перре: http://edgecodetechology.blogspot.pt/


**** EDIT **** (я пытаюсь сделать этот пост несколько полезным для сообщества сайча)

Sencha Touch, как и многие другие Javascript Framework, не лучший пример производительности из-за самого javascript.

Тогда зачем использовать Sencha Touch ?

  • В моем случае: мультиплатформенность (iOS, Android, Windows Phone, Blackberry, Windows, Mac OSX, Linux. Обмен 80-90% кода)

Mitigating performance issues due to lack of visual pre-process in Android systems:

  1. CSS3 тяжелый визуальный процесс:

    • Избегайте градиентов
    • Избегайте теней
    • Избегайте трансформаций и анимаций
  2. Хорошие методы MVC:

    • Не используйте больше просмотров и фактически показываете
    • Предварительная визуализация / предварительная выборка данных, когда это возможно, чтобы избежать процесса визуализации и данных одновременно
  3. Для любых просмотров прокрутки на Android необходимо отключить чрезмерную прокрутку. Я тестировал множество приложений Sencha Touch 2 на устройствах Android, а чрезмерная прокрутка вызывает плохо неприятный опыт из-за задержек и задержек. (Тестировался на Galaxy Tab, Nexus S и некоторых HTC) от Thiem Nguyen (я добывал ваши сообщения, извините, чувак: P)

Solutions Collecting From Web of "PhoneGap 1.4 упаковка Sencha Touch 2.X – Как насчет производительности?"

Тоже самое. Я тестировал многие из своих приложений Sencha Touch 2 на Samsung GalaxyTab, и производительность действительно ужасна. Есть факт (который, возможно, является частью фактической причины), что iOS делает много предварительных процессов и вычислений перед рендерингом, чтобы сделать его более гладким для внешнего вида пользователя, в то время как Android имеет тенденцию делать и обрабатывать одновременно на ходу.

В общем, можно сказать, что для всех кросс-платформенных мобильных приложений, построенных на Javascript, таких как Sencha Touch, производительность iOS значительно лучше, чем Android. Тем не менее, команда Sencha Touch dev прилагает все усилия, чтобы улучшить это, надеюсь, было бы лучше в следующих выпусках. Вы можете увидеть эту статью о сравнении производительности iOS и Android.

http://www.sencha.com/blog/sencha-touch-2-developer-preview/

PS: Несмотря на то, что это очень важно для ограничения ОС, вы также можете оптимизировать свое приложение, чтобы он лучше работал на устройствах Android. По моему опыту, наилучшей практикой является:

  • НЕ используйте CSS3 слишком много.
  • Держите DOM как можно меньше.

Надеюсь, поможет.

Я вообще не разработчик phoneGap или Sencha, но я стараюсь не отставать от того, что касается производительности и эволюции браузеров.

У вас так много слоев абстракции (sencha touch, phonegap, android, webkit, fffuuu) для вашего приложения, что может быть очень сложно понять, где проблемы с производительностью.

Поскольку я получаю дизайн телефонных разговоров, он не внедряет какую-либо реализацию webkit, что он делает (на android), чтобы использовать android.webkit.WebView. Я обнаружил, что многие люди жалуются на то, как веб-просмотр получил ужасную производительность над браузером веб-браузера Android. Это может быть трудно улучшить здесь, поскольку вы используете телефонную развязку, а испорченность с помощью sroid sroid может сделать вас переносимость переноса, если это важно для вас.

То, что я вижу в качестве проблемы с производительностью в телефонном разговоре, зависит не только от аппаратного обеспечения, но и от реализации браузера ОС.

Если вы хотите настроить производительность, вы можете улучшить код js / css. Это может быть просто как кешировать узлы DOM в js (запросы DOM медленны), поддерживать DOM минимально, или это может быть более сложно, потому что поскольку телефонная книга нацелена на различные реализации браузеров, вам может понадобиться настроить таргетинг на ваш код на эти браузеры, чтобы повысить производительность.

Я не совсем уверен, связана ли проблема с ОС, как будто приложение работает на Android, iOS и т. Д.

Если вы протестируете пример Sencha Touch 2 Kitchen Sink на аппаратном устройстве с низким и средним возможностями, например Samsumg Galaxy, вы столкнетесь с небольшими проблемами производительности.

Однако, если вы перейдете на более совершенные аппаратные устройства, такие как HTC Desire 2 (что-то ближе к iPhone 4S), вы увидите, что производительность улучшится.

Я не думаю, что Android имеет ограничения на Sencha Touch 2 относительно производительности по сравнению с iOS. Я просто думаю, что некоторые устройства лучше других (iOS всегда работает на высокопроизводительных устройствах, iPhone / iPad).

И для нашего несчастья люди склонны владеть более низкой ценой и аппаратными средствами.

У меня есть несколько фундаментальных вопросов о производительности приложений на базе SenchaTouch. Пожалуйста, обратитесь к этой статье командой LinkedLN о том, как они улучшили производительность своего приложения HTML5 с помощью ручного кодирования DOM Manipulations:

http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5

В контексте этой статьи я вижу две проблемы с Sencha Touch: –

  1. Sencha Touch создает свой пользовательский интерфейс, конвертируя объекты javascript в Dom Nodes и добавляя их в Dom Tree. Chrome Tools покажет, что он добавляет относительно большое количество DIV и других элементов DOM в дерево Dom. Не повлияло бы это на производительность.

  2. Большинство узлов Dom в интерфейсе Sencha создаются кодом Sencha API, а не разметкой. Если мы пишем код для непосредственного управления этими элементами Dom, можем ли мы быть уверены, что он не будет вызывать побочных эффектов?