Cómo diferenciar entre aplicaciones html5 y aplicaciones desarrolladas localmente
1. Animación
Hay muchos tipos de animaciones, como el deslizamiento dentro y fuera del menú de la barra lateral, la animación de respuesta de los elementos. y la animación entre páginas, el cambio entre transiciones, etc., muchos métodos de implementación no pueden lograr un rendimiento nativo puro en H5. En términos generales, hay varias opciones diferentes para estas palabras: animación css3, animación javascript, animación nativa.
La animación CSS3 consume mucho rendimiento. Si realiza una animación CSS3 en un elemento, es posible que no sea visible, pero áreas grandes o el uso excesivo de la animación CSS3 harán que la experiencia de la aplicación sea muy pobre en niveles bajos. teléfonos móviles. La mejor opción suele ser llamar a la animación subyacente a través del marco, pero en cualquier caso, equivale a encapsular el código original con una capa, y el rendimiento inevitablemente se verá afectado.
Por ejemplo, al cargar una nueva página, si llama a la animación subyacente, debe considerar dos cuestiones: una es la representación de la página de recursos y la otra es la recopilación remota de datos. Aunque estas animaciones son rápidas y responsivas, las páginas con mucho CSS pueden provocar un retraso en el procesamiento y es posible que experimentes un retraso en la pantalla blanca o en la máquina al deslizarte. Para resolver estos problemas de rendimiento, aún es necesario utilizar precarga o animaciones simuladas. Aun así, todavía hay muchos problemas con las animaciones deslizables hacia adentro y hacia afuera en máquinas Android de gama baja. Si el método de adquisición de datos del lado del servidor no se maneja adecuadamente, el fenómeno de la pantalla blanca retrasada será más grave. Específicamente, observe los siguientes métodos de adquisición de datos.
2. Obtener datos del lado del servidor
Lo primero que hay que aceptar es que la adquisición de datos aquí se complete de forma asincrónica en la página de recursos, porque solo así se puede realizar la precarga de estos. páginas de recursos estén completas o presentes. Sin embargo, obtener datos de una página de forma asincrónica y completarlos en la página puede implicar operaciones DOM. Como todos sabemos, las operaciones DOM consumen mucho rendimiento. Si la página es pequeña, está bien. los datos serán un poco más complejos y las operaciones DOM frecuentes provocarán un destello blanco evidente. Y el punto más importante es que si la velocidad de actualización de los datos de carga de la página es demasiado lenta, la plantilla de la página también esperará mucho tiempo, lo que no es amigable para la experiencia del usuario. actualiza cada vez que abres el navegador.
Si este problema no se resuelve, será difícil para H5APP manejar páginas de datos a gran escala, y será aún más difícil cuando cambien con frecuencia. En este momento, algunas personas definitivamente lo pensarán. el método MVVM De hecho, también he escrito algunas aplicaciones H5 basadas en MVVM. En términos relativos, la forma en que obtienen y actualizan datos es más ágil y científica. Sin embargo, hay muchas que deben prestar atención durante el proceso de escritura. Problemas específicos de H5. Esto se muestra en el cambio de página que se analiza a continuación.
3. Cambio de página
Hemos visto varios métodos de implementación buenos anteriormente, como precarga y animación simulada, incluso precarga por lotes, capturas de pantalla por lotes, animación simulada, etc. Puede ser una solución muy amigable para algunos problemas, pero de hecho, si se hace en la página, es suficiente para causar otro problema: el ciclo de vida de la página. -El ciclo de vida de la página.
Imagínese si la página de inicio o la página principal almacena en caché los recursos de 5 subpáginas y luego almacena en caché los recursos de las páginas subordinadas de estas subpáginas al saltar a la subpágina receptiva, esto definitivamente ocupará los recursos A repetidamente. mucha memoria y empeora la experiencia de la aplicación. Entonces, ¿cómo saber qué páginas se necesitan, cuántas páginas se pueden almacenar en caché como máximo y cuándo finalizar el ciclo de vida de qué páginas? En muchos marcos H5APP que he usado, no hay respuestas perfectas a estas preguntas, por lo que en aplicaciones con muchas páginas y contenido, puede haber una degradación del rendimiento debido a estos problemas de asignación de recursos.