Iónicos 2 problemas de rendimiento de desplazamiento
Muy impresionado con los blogs y comentarios sobre ionic2 y Angular2, empecé a escribir una aplicación en iónicos 2, y encontró que el rendimiento de desplazamiento ionic2 no es bueno para un gran número de registros para iOS y Android.
- Tengo una lista grande de artículos con entre las imágenes en la mayoría de los artículos de la lista
- El rendimiento de desplazamiento es bueno para 10 a 20 elementos, pero su muy lento cuando se trata de 30 + elementos
- Después de mucho de la búsqueda encontró desplazamiento virtual en iónicos y lo utilizó entonces el rendimiento ligeramente mejorado para hasta 50 elementos, pero de nuevo lento después de 65 + elementos
He intentado WKWebview en iOS, tienen alguna mejora en el rendimiento, pero a menudo la pantalla se convierte en negro para grandes listas por lo que dejar esta idea. No quiero usar el paso de peatones debido a su aumento del tamaño de la aplicación, así que nunca intentado.
- En Android; ¿Es mejor aplicar un OnClickListener o usar android: onClick?
- Mi aplicación se redujo significativamente en Android 4.0
- ¿Es mejor usar GL_FIXED o GL_FLOAT en Android
- ¿Qué es "pools de asignación para objetos temporales"?
- GUIs basadas en XML y rendimiento
¿Puede alguien ayudar a sugerir alguna solución para solucionar este problema o cualquier solución de marco javascript puro para mostrar grandes listas sin ningún problema? Tanto para Android como para ios.
- ¿Cuál es la mejor alternativa para las preferencias compartidas en Android?
- LockCanvas () muy lento
- Desempeño de Android: "Evita los internos y los setters"
- ¿Cuándo debe y no debe romperse de OOP para velocidad / rendimiento?
- Impacto de 'instanceof' en el código Java de Android
- Eficiencia de findViewById
- Procesamiento lento de lotes de modelos en libGDX
- Apache Commons NET: ¿Debo crear un nuevo objeto FTPClient en cada conexión o reutilizar uno?
El desplazamiento es una de las interacciones más comunes con una aplicación móvil y es extremadamente importante que se sienta bien. Las aplicaciones nativas tienen listas que se desplazan sin problemas, son sensibles al tacto y los cambios de direcciones, aceleran y desaceleran de una manera que se siente natural.
Trate de utilizar Virtual Scroll de Ionic2
Virtual Scrolling soluciona este problema. En Ionic 1 esto fue llamado Collection Repeat, en Ionic 2 se llama Virtual Scroll, pero es un concepto que se utiliza ampliamente en el desarrollo móvil HTML5. La idea básica es que sólo creamos suficientes elementos en el DOM para mostrar los datos de la lista que se encuentran actualmente en la pantalla y reciclamos esos elementos DOM para mostrar nuevos datos a medida que se desplazan fuera de la pantalla.
Más información: Ionic Framework – Virtual Scroll
El rendimiento de desplazamiento es un problema común en la mayoría de los marcos de javascript.
Esto se debe a eventos de toque y rueda. Pero puede pasar {passive: true} al oyente de eventos para habilitar algunas optimizaciones. Haciendo esto por adelantado, usted dice que su manejador nunca usará preventDefault () para deshabilitar el desplazamiento.
addEventListener(document, "touchstart", function(e) { },{passive: true});
Todavía no está implementado en todos los navegadores, pero esperemos que cuando sea, todos los marcos principales de js adoptarán esta técnica.
- OnItemSelectedListener sólo se activa si la selección realmente cambia?
- ¿Qué permisos no permanecen al actualizar a targetSdk 23 o Android 6?