Trucos de rendimiento de iOS para que su aplicación se sienta más eficiente – Revista Smashing

Axel es un desarrollador de software que aspira a ser independiente, con sede en Kuala Lumpur, Malasia. Más sobre Axel Kee… Cada segundo martes, enviamos un boletín con técnicas útiles en front-end y UX. Suscríbase y obtenga listas de verificación de diseño de interfaz inteligente PDF en su bandeja de entrada. Aunque el hardware moderno de iOS es lo suficientemente potente como para manejar muchas tareas intensas y complejas, el dispositivo aún podría no responder si no tiene cuidado con el rendimiento de su aplicación. En este artículo, analizaremos cinco trucos de optimización que harán que su aplicación se sienta más receptiva. ForRowAt 🙂 antes. ¿Alguna vez se preguntó por qué tiene que seguir esta API incómoda, en lugar de simplemente pasar una matriz de celdas? Veamos el razonamiento de esto. Digamos que tiene una vista de tabla con mil filas. Como podría haber pensado, esto agregará mil celdas a la memoria del dispositivo a medida que se desplaza hacia la parte inferior.

Imagine lo que sucedería si cada celda contuviera un UIImageView y mucho texto: ¡cargarlos todos a la vez podría hacer que la aplicación se quede sin memoria! Aparte de eso, cada celda requeriría que se asigne nueva memoria durante el desplazamiento. Si desplaza una vista de tabla rápidamente, se asignarán muchos pequeños trozos de memoria sobre la marcha, ¡y este proceso hará que la interfaz de usuario sea inestable! Para resolver esto, Apple nos ha proporcionado el método dequeueReusableCell (withIdentifier: for :). La reutilización de celdas funciona colocando la celda que ya no es visible en la pantalla en una cola, y cuando una nueva celda está a punto de ser visible en la pantalla (digamos, la siguiente celda a continuación a medida que el usuario se desplaza hacia abajo), la vista de tabla recuperar una celda de esta cola y modificarla en el método cellForRowAt indexPath: Al usar una cola para almacenar celdas, la vista de tabla no necesita crear mil celdas. En cambio, necesita solo suficientes celdas para cubrir el área de la vista de tabla.

Al usar dequeueReusableCell, podemos reducir la memoria utilizada por la aplicación y hacer que sea menos propensa a quedarse sin memoria. Es un error común usar una pantalla de inicio como pantalla de inicio para mostrar la marca o agregar una animación de carga. El uso de una pantalla de inicio para cargar o marcar puede ralentizar el tiempo del primer uso y hacer que el usuario sienta que la aplicación es lenta. Cuando inicia un nuevo proyecto de iOS, se creará un LaunchScreen.storyboard en blanco. Esta pantalla se mostrará al usuario mientras la aplicación carga los controladores de vista y el diseño. Para que su aplicación se sienta más rápida, puede diseñar la pantalla de inicio para que sea similar a la primera pantalla (controlador de vista) que se mostrará al usuario. El guión gráfico de la pantalla de inicio es como cualquier otro archivo de guión gráfico, excepto que solo puede usar las clases estándar de UIKit, como UIViewController, UITabBarController y UINavigationController. Si intenta utilizar otras subclases personalizadas (como UserViewController), Xcode le notificará que está prohibido el uso de nombres de clase personalizados.

Otra cosa a tener en cuenta es que UIActivityIndicatorView no se anima cuando se coloca en la pantalla de inicio, porque iOS generará una imagen estática del guión gráfico de la pantalla de inicio y se la mostrará al usuario. HIG de Apple también nos aconseja no incluir texto en nuestra pantalla de inicio, porque la pantalla de inicio es estática y no se puede localizar el texto para atender a diferentes idiomas. La conservación y restauración del estado permiten al usuario volver al mismo estado exacto de la interfaz de usuario justo antes de abandonar la aplicación. A veces, debido a la memoria insuficiente, el sistema operativo puede necesitar eliminar su aplicación de la memoria mientras la aplicación está en segundo plano, y la aplicación puede perder el rastro de su último estado de la IU si no se conserva, lo que posiblemente cause que los usuarios pierdan su trabajo ¡en progreso! En la pantalla multitarea, podemos ver una lista de aplicaciones que se han puesto en segundo plano. Podemos suponer que estas aplicaciones todavía se están ejecutando en segundo plano; en realidad, algunas de estas aplicaciones podrían ser eliminadas y reiniciadas por el sistema debido a las demandas de memoria.

Las instantáneas de la aplicación que vemos en la vista multitarea son en realidad capturas de pantalla tomadas por el sistema desde el momento en que salimos de la aplicación (es decir, para ir a la pantalla de inicio o multitarea). El sistema operativo usa estas capturas de pantalla para dar la ilusión de que la aplicación todavía se está ejecutando o aún muestra esta vista en particular, mientras que la aplicación ya puede haberse finalizado o reiniciado en segundo plano mientras aún muestra la misma captura de pantalla. ¿Alguna vez ha experimentado, al reanudar una aplicación desde la pantalla de multitarea, que la aplicación muestra una interfaz de usuario diferente de la instantánea que se muestra en la vista de multitarea? Esto se debe a que la aplicación no ha implementado el mecanismo de restauración de estado, y los datos mostrados se perdieron cuando la aplicación se eliminó en segundo plano. Esto puede llevar a una mala experiencia porque el usuario espera que su aplicación esté en el mismo estado que cuando la dejó. UIKit hace mucho trabajo para simplificar la preservación y restauración del estado para nosotros: se encarga de guardar y cargar el estado de una aplicaciónautomáticamente en los momentos apropiados.

Etiquetas:

Deja un comentario

A %d blogueros les gusta esto: