2011-05-06 18 views
17

Recientemente, he estado tratando de encontrar una forma de analizar animaciones a través de GDB (sin más motivo que curiosidad). Según tengo entendido, CoreAnimation ejecuta sus animaciones en un (a) thread (s) separado (s). Sin embargo, después de suspender todos los hilos activos a través de GDB, mi animación (específicamente, el CAKeyFrameAnimation que usa UIImageView) aún se estaba ejecutando.Hilos de CoreAnimation

Esto me lleva a pensar que una de las 2 cosas están sucediendo:

1.) No están al tanto de su rosca (s) por cualquier razón.

2.) Me he perdido algo terriblemente obvio.

Cualquier comentario sobre este tema es muy apreciado. Gracias.

+0

+1 por curiosidad! Gran consulta. –

+0

Probablemente esto no es exactamente lo que quieres, pero si quieres saber el valor de la animación mientras animas, creo que puedes usar la propiedad 'presentationLayer' de' CALayer'. – nacho4d

+0

muy interesante, ¿está especificando sus animaciones implícita o explícitamente? –

Respuesta

6

Sus animaciones reales se transfieren al proceso de SpringBoard. Es por eso que no se detienen cuando pausa todos los hilos en su proceso usando el depurador. Puede ver más evidencia de esto al usar el instrumento VM Watcher para ver las regiones VM compartidas que se asignan cuando crea animaciones. En este sentido, las funciones de SpringBoard son como el servidor de ventanas en OS X.

Cuestiones relacionadas