Подтвердить что ты не робот

Мигает/мигает с помощью JQM и PhoneGap на Android

Я использую PhoneGap 2.2.0 в сочетании с jQuery Mobile 1.2.0 для своего приложения на платформе Android (версия 2.3.3 и выше). На страницах я использую фиксированные заголовки и вообще никаких переходов. Отдых в значительной степени стандартный jQuery.

Когда я перемещаюсь со страницы на страницу, я на короткое мгновение получаю белый мигание (целая страница). Я несколько раз искал в Интернете.

Не удалось выполнить попытку ниже:

Когда я выключаю аппаратное ускорение в проекте Android, мигание исчезнет. Но тогда некоторые стили CSS идут не так, и общая производительность очень плохая (очевидно).

Я также попробовал код ниже.

ui.page {
-webkit-transform: translateZ(0);
-webkit-perspective:1000;
-webkit-backface-visibility: hidden;
}

Плохо все равно не повезло.

Также попробовал это: https://github.com/watusi/jquery.mobile.simultaneous-transitions Еще одна короткая (полная белая страница) мигает перед переходом.

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

Обновление 25-04-2013: Также попробовали:   https://groups.google.com/forum/?fromgroups=#!topic/phonegap/EtZ2KwseKQ0  https://github.com/jquery/jquery-mobile/issues/4024  https://github.com/jquery/jquery-mobile/pull/4129

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

Также попробовал шаблон 1 страницы (все страницы в одном файле). Не помогло.

jQuery Mobile 1.3.1 PhoneGap 2.5.0 Android 4+ Устройства: - Google Samsung Galaxy Nexus - Samsung Galaxy Tab 10.1 (возникла проблема, но у вас больше нет устройства) - Samsung Galaxy Note 10.1

Теперь я представил вопрос о Github: https://github.com/jquery/jquery-mobile/issues/6031

4b9b3361

Ответ 1

Настройка видового экрана для пользователя-масштабируемого = не исправлена ​​проблема для меня:

Измените

< meta name="viewport" content="width=device-width, initial-scale=1" />

к

< meta name="viewport" content="width=device-width, user-scalable=no" />

Ответ 2

Настройка видового экрана для пользователя-масштабируемого = не исправлена ​​проблема для меня:

< meta name="viewport" content="width=device-width, user-scalable=no" />

Работает для jQuery Mobile 1.3.1 Кордова 2.8.0 на Nexus 4/Android 4.2.2

Ответ 3

третья ссылка в вашем сообщении - это то, как я исправил ее некоторое время назад, когда у меня возникла эта проблема. Я также добавил -webkit-perspective: 1000; Мерцание происходит из-за 3D-ускорения, и обратная сторона страницы, которая преобразуется, становится видимой на долю секунды, делая ее похожей на мерцание.

Изменить: посмотрите на этот, а также для получения дополнительной информации.

Ответ 4

Убедитесь, что этот код существует в вашем методе mobileinit:

//initialize jQM
$(document).on("mobileinit", function () {
  //hack to fix android page transition flicking issue
  if (navigator.userAgent.indexOf("Android") != -1){
      $.extend(  $.mobile , {
          defaultPageTransition: 'none'
      });   
    }
});

Также: измените следующее в jquerymobile.js

// Make our transition handler the public default.
$.mobile.defaultTransitionHandler = simultaneousHandler;

//transition handler dictionary for 3rd party transitions
$.mobile.transitionHandlers = {
    "default": $.mobile.defaultTransitionHandler,
    "sequential": sequentialHandler,
    "simultaneous": simultaneousHandler
};

Также любезно сообщите мне, какую версию устройства для Android вы используете?

Ответ 5

Я пробовал десятки решений, но ни один из них не работал, создайте мне лучший способ для решения этой проблемы - установить свойство autohidesplashscreen на false, показать заставку на предыдущей странице и скрыть ее на целевой странице в deviceready. В некоторых переходах мы спали переходы примерно 0,5 - 1 сек, чтобы избежать мигания spalshscreen. Не лучшее решение, но работало для нас.