¿Cuáles son las mejores prácticas cuando se trata de UITableViews para mejorar el rendimiento, acelerar el desarrollo y el mantenimiento cuando se trata de UITableViews?UITableView Mejores prácticas
Respuesta
Esta no es la primera vez que se formula esta pregunta en SO. Aquí está mi respuesta anterior sobre la materia:
- altura de la fila dinámica es caro, porque no se puede almacenar en caché los puntos de vista prestados de manera eficiente, ya que el tiempo de ejecución no sabe qué altura se va a volver para una célula dada hasta que se hace la llamada. No lo use si es posible. Los ingenieros de Apple me dijeron que es más eficiente dibujar todas las celdas un poco más altas de lo necesario para dar cuenta de algunas filas más grandes, que usar altura dinámica.
- Solo obtenga el elemento de la matriz una vez
[items objectAtIndex:indexPath.row]
en el método-tableView:cellForRowAtIndexPath:
- Use una caché para cualquier imagen u otros recursos de red. Pruebe el EGOImageView stack, almacena en caché su imagen de manera eficiente, y es un código bastante elegante.
- Mientras estás en el código EGO github, captar su EGOCache y lo utilizan para almacenar en caché cualquier otro objeto que necesita para manipular, tales como cadenas que se analizan y modificar
- Si alguno de sus puntos de vista sobre esa celda son transparentes , mira el video de WWDC 2011 sobre el rendimiento de UIKit. Tienen un mucho método más eficiente para dibujar transparencia en las celdas de vista de tabla
- Si está utilizando Datos principales, use NSFetchedResultsController en su vista de tabla. Maneja fallas de carga, índices de almacenamiento en caché y otras eficiencias específicas de los ivews de mesa.
También mire el video WWDC sobre el uso de instrumentos, revisan cómo encontrar dónde el código de dibujo está matando el rendimiento. Este año tuvo algunas (algunas, no todas) realmente grandes sesiones.
Optimizar último, tan subclase UITableViewCell si necesita celdas personalizadas, y si algún día desea mejorar el rendimiento de la representación, es posible que desee representar el contenido utilizando drawRect: en su lugar.
Gracias, pero no es mucho Que escribiste. – atiq
Bueno, no hay mucho más que decir a menos que tenga algo más específico; aparte de eso, creo que hacer cosas como las que escriben en la documentación oficial es probablemente la mejor práctica. –
- 1. Mejores prácticas para dibujar alturas de fila de UITableView dinámicas
- 2. Java enumeración mejores prácticas
- 3. Mejores prácticas de NAnt
- 4. mejores prácticas de ctags
- 5. Mejores prácticas de CoreData
- 6. Mejores prácticas de LDAP
- 7. Integración continua: mejores prácticas
- 8. Mejores prácticas de PyLint?
- 9. CONEXIÓN SQL mejores prácticas
- 10. ¿Mejores prácticas de Flex?
- 11. DTO: mejores prácticas
- 12. Mejores prácticas de Lucene.Net
- 13. NSDateFormatter compartido: ¿mejores prácticas?
- 14. Android strings.xml ¿Mejores prácticas?
- 15. Node.js + mejores prácticas repetitivo
- 16. Mejores prácticas de ActionListener
- 17. Mejores prácticas de Maven
- 18. Mejores prácticas de Sitecore
- 19. CSS Esquema mejores prácticas
- 20. ¿Mejores prácticas de PHP?
- 21. Mejores prácticas de transacciones
- 22. Mejores prácticas para C#
- 23. NamedQuery: Mejores prácticas
- 24. Selenium, Nunit ¿Mejores prácticas?
- 25. Mejores prácticas de Javascript
- 26. GWT Mejores prácticas compuestas
- 27. DataReader mejores prácticas
- 28. mejores prácticas - NSManagedObjectContextObjectsDidChangeNotification en IOS
- 29. php y mysql, mejores prácticas
- 30. ¿Mejores prácticas de búsqueda inversa?
posible duplicado de [¿Cómo puedo acelerar un UITableView?] (Http://stackoverflow.com/questions/6172158/how-can-i-speed-up-a-uitableview) – Caleb