PhoneGap + jQuery Mobile = tiempo de respuesta lento

Sé que hay muchas de estas preguntas en Internet, pero he intentado cada solución (todas las respuestas de esta pregunta ), y ninguno de ellos funcionó.

Cuando ejecuto el sitio en el navegador de mi PC todo está bien, pero tan pronto como me despliegue en el teléfono, el tiempo de respuesta es muy laggy.

He intentado usar FastClick, establecer hoverDelay a 0, y vincular mis propios eventos, pero el resultado es el mismo.

Estoy usando Android 4.1. Apreciaría cualquier ayuda aparte de lo que he probado.

3 Solutions collect form web for “PhoneGap + jQuery Mobile = tiempo de respuesta lento”

Para acelerar JQM, tiene que desactivar cualquier transición.

Es una mierda, pero las transiciones JQM son demasiado lentas para dispositivos móviles, incluso en iOS. Sólo tendremos que esperar unos años hasta que el hardware se vuelva más rápido, sospecho. Esto es a pesar de que el equipo JQM intenta mejorar el rendimiento en 1.2. Todavía no puedo usar las transiciones sin que mis aplicaciones se sientan lentas.

Siempre uso esta configuración para obtener el mejor rendimiento de jQuery móvil.

$.mobile.defaultPageTransition = 'none' $.mobile.defaultDialogTransition = 'none' $.mobile.buttonMarkup.hoverDelay = 0 

Además, si está escribiendo cualquier javascript, no se vincule a ningún evento 'clic'. El clic es demasiado lento en dispositivos móviles, ya que tiene un retraso adicional de 300 ms antes de que se desencadene el evento.

Puesto que usted está usando JQM, usted puede utilizar su propio evento del tecleo vclick lugar de otro (que debajo de la capilla está utilizando los acontecimientos del touchstart y del touchend ).

Si sigue siendo muy lento para usted después de eso, es posible que tenga que examinar lo que realmente está ocurriendo en sus eventos de clic – tal vez su código no está tan optimizado como podría ser.

Sería mejor utilizar el evento tap que el evento click si desea evitar esto para una aplicación móvil.

Tenga una lectura de Tap vs. Click: Death by Ignorance de John Bender

Este fragmento de código funcionó para mí

 var ua = navigator.userAgent, event = (ua.match(/iPad|Android/i)) ? "touchstart" : "click"; $("button,a").bind(event, function() { $(this).trigger('click'); }); 
  • Cómo pasar los argumentos a la función de transacción de base de datos PhoneGap
  • Cómo detectar sólo el navegador nativo de Android
  • Uso de la memoria que sube en la aplicación PhoneGap
  • jQuery evento de prensa de botón móvil lenta para procesar
  • Es la navegación en la memoria del teléfono de Android posible utilizando phoengap?
  • cómo encontrar el recuento de elementos de la lista visible en el filtro de búsqueda jQuery mobile
  • Desarrollo de aplicaciones para Android: java vs. jquery mobile
  • Cómo defino launchMode en AndroidManifest.xml - Uso de PhoneGap y JQM
  • Problema de bajo rendimiento de Phonegap
  • Phonegap, conexión al servidor sin éxito
  • Jquery móvil - keydown keydown en dispositivos móviles
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.