2012-05-31 25 views
5

Tengo un sitio html básico (html5, JavaScript, jQuery) que tengo ejecutándose en un iPpad2. Hago pruebas básicas con Google Chrome, solo para probar imágenes de diseño y copiar, etc. Sin embargo, mi prueba real debe estar en un iPad real.Javascript en ipad carga lento

En el iPad, mi código parece tener un retraso de 2-4 segundos en comparación con Chrome que se carga al instante. No he podido encontrar el cuello de botella. Agregué alertas en varios puntos del código, pero todas las alertas aparecen inmediatamente, una después de la otra y parece que la demora ocurre después de la última alerta que está en la última línea de código.

Las alertas pueden ser engañosas, ya que tal vez el código se almacena en caché antes de su ejecución? ¿Hay algo que debería buscar o evitar en mi código para acelerar las cosas en el iPad?

+0

¿Qué modo de retroalimentación estás buscando? En otras palabras, ¿qué se supone que debe hacer el código que está viendo una demora? Por ejemplo, ¿está buscando un cambio en el contenido HTML? – wecsam

+0

Hemos estado teniendo este problema también en un iPad de primera generación, específicamente con animaciones. Creo que a los mayores les cuesta mucho procesar un montón de javascript (son mucho más lentos que la mayoría de los equipos de escritorio + portátiles). Sin embargo, recogimos un iPad 3 hoy y todo funcionó extremadamente bien. –

+0

@wescam. Sí, estoy buscando ver el contenido HTML – Mike6679

Respuesta

0

Un iPad es considerablemente más lento que un escritorio con Google Chrome. Se espera que demore un poco más para hacer las cosas.

Si fue 10-20 segundos, yo diría que verifique su código, pero 2-4 segundos no es razonable para una carga de página.

+0

Estoy empezando a estar de acuerdo contigo ... También traté de agregar un div simple que contenga solo una imagen primero en el index.html para ver si parece más rápido y TODAVÍA los 3 segundos demo ... – Mike6679

8

Si no almacenar en caché los resultados selectores - los dispositivos móviles son susceptibles a los malos resultados

lo que quiero decir es que si usted hace esto:

$("#someId").css(some, stuff); 
$("#someId").css(other, stuffs); 
$("#someId").attr(even, more); 

comparación con

var ourElement = $("#someId"); 
ourElement.css(some, stuff); 
ourElement.css(other, stuffs); 
ourElement.attr(even, more); 

ahora si está haciendo lo anterior "en el mundo real" - en bucles, etc. - puede representar un gran perjuicio en el rendimiento de los dispositivos móviles

buena suerte

+1

OP también podría intentar usar jQuery mobile en lugar de jQuery completo si tienen un sitio móvil específico. – Codeman

+0

jQuery Mobile se basa en jQuery, por lo que no tendría una huella más pequeña. – Sampson

+0

No es una huella más pequeña, no. Pero tiene algunos elementos específicos del dispositivo móvil que tienen en cuenta los recursos disponibles más bajos en los dispositivos móviles. – Codeman

Cuestiones relacionadas