2012-06-16 15 views
11

Tengo un UIScrollView en el que coloco varias vistas mientras se desplaza. está descargando imágenes desde un punto final de la API. El problema es que el desplazamiento no se siente tan suave como debería ser. Sé que esto es porque en su mayoría algo está bloqueando el hilo principal. He buscado en todo el código y comentado cualquier código de actualización de UI, pero el desplazamiento rápido todavía es lento.¿Cuál es la mejor forma de encontrar el código que está bloqueando el hilo principal?

¿Alguna sugerencia sobre cuál es la mejor manera de encontrar qué parte de tu código bloquea el hilo principal?

Respuesta

7

Instrumentos. Hay abso-maldito-lutely nada como eso. Incluso el documentation de Apple menciona la búsqueda de tareas relacionadas con la CPU elevada.

Aunque, personalmente, recomiendo el Time Profiler. De los cuales, se puede encontrar un excelente tutorial here.

+0

¿de verdad puedes encontrar algo que bloquee el hilo principal con los instrumentos? – aherlambang

+0

Sí, más detalles, por favor: ¿qué plantilla de Instruments particular puede ayudarme a encontrar qué operación está bloqueando mi hilo principal? No se menciona en los documentos Apple vinculados o no es obvio. –

+0

Eso depende completamente de tu código. Los instrumentos pueden, en algunos casos, encontrar interbloqueos de subprocesos, pero el bloqueo de subprocesos en general suele ser una tarea de depuración más adecuada para examinar trazados de pila manualmente. Además, la cantidad de formas de interbloquear un hilo es abundante y variada, lo que convierte a Apple en una solución global muy difícil. – CodaFi

Cuestiones relacionadas