2014-05-31 2 views
1

Я просто создаю простое приложение Apache Cordova на основе jqTouch и Zepto.Корневой причиной мерцающих проблем веб-приложений для мобильных устройств?

Приложение имеет 3 страниц, один содержит одну форму 4 управления, на других страницах 3 навигационных элементов и несколько строк текста.

Использование темы в jqTouch'sapple и jqtouch, приложение показывает огромное количество мерцающих. Во время перехода страницы некоторые части экрана отображают черный.

Тема jQTouch's innsbruck имеет бит менее мерцающий, но все еще отнюдь не готов к производству.

В тестовом приложении не используется надстройка javaScript. Все навигация сделан используя #pageName ссылки. Таким образом, пользовательский JavaScript может быть без проблем.

Интересно: если я открою jqTouch demos с помощью встроенного браузера для мобильных устройств, они выполняются с гораздо менее мерцающим.

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

Испытано с помощью этой среды:

  • Apache Cordova 3.0.5
  • Android 4.4.2
  • Nexus 7

Appcelerator Titanium - Бедный слишком

Кроме того, я дал Appcelerator Titanium попробуйте использовать rss example. С помощью тестового устройства производительность была плохой.

Appcelerator претендует на компиляцию на родной. Но из-за плохой производительности, я думаю, они тоже скомпилируются в WebViews.

Есть ли они? Или Appcelerator Titanium компилирует представления и контроллеры на чистый JavaCode?

Следующая попробовать

Далее я собираюсь дать Xamarin попробовать.

ответ

3

Во-первых, родной браузер будет более эффективен, чем ваше приложение в Кордове.
Кордова использует веб-просмотр, который менее мощный.

В стороне, мерцающая проблема, которую вы видите, можно устранить, визуализируя элемент на графическом процессоре.
Via CSS можно указать:

transform-style: preserve-3d; 

или

transform: translate3d(0,0,0); 

с необходимыми префиксами поставщика.

Это заставит ваш элемент отображать GPU. И исправить вашу мерцающую проблему, но вы должны нацелиться на свой неисправный элемент.

+0

Итак, если бы я упаковал все вещи на мобильный локальный веб-сервер и запустил системный браузер, я, вероятно, получил бы лучшую производительность? Если я правильно понимаю ваш A, рендеринг «искусственного» пользовательского интерфейса в WebKit WebView является основной проблемой? По крайней мере, на iOS, должен ли WebKit из Кордовы быть таким же быстрым/медленным, как Safari? – SteAp

+0

Если CSS пропустит весь материал анимации fade-in/dissolve, будет ли результат рендеринга лучше? – SteAp

+0

У вас будет проблескивая проблема повсюду, Webview и браузер. Это не связано с производительностью. Это проблема рендеринга, которую вы можете исправить, с помощью этого CSS. Не нужно пропускать анимационные материалы, если это не повредит выступлениям. Телефон или планшет могут справиться с этим просто отлично. – YoannM