Perfil de la CPU iOS: ¿Por qué este subprocess puede absorber el 99.9% de la CPU?

A veces cuando carga una vista de tabla, y no estoy realizando ninguna actividad intencionalmente, excepto dejar que la vista de la tabla se muestre, espero unos segundos y luego el uso de la CPU se dispara. ¿Cómo puedo encontrar la causa?

introduzca la descripción de la imagen aquí

¿Por qué este subprocess puede absorber el 99.9% de la CPU?

No lo sé. Pero aquí hay algunos pensamientos:

  1. La biblioteca responsable es UIKit . Por lo tanto, parece que hay algún código de interfaz de usuario roto.
  2. Una function llamada FreeContextStack está ejecutando durante mucho time.
  3. pthread_once y pthread_getspecific toman una cantidad considerable de time. Estas funciones son rápidas, por lo que tienen que ejecutarse muy a menudo.
  4. Son parte de GetContextStack y PopContext

Parece que en su código hay un tipo de stack de "context" que se presiona, pero no se invade. UIGraphicsPushContext apariciones de UIGraphicsPushContext o UIGraphicsBeginImageContext sin sus homólogos finales.

Pero podría estar totalmente apagado y esas funciones no son parte del código de context de charts.

Es posible que no UIGraphicsBeginImageContext tu UIGraphicsBeginImageContext

UIGraphicsEndImageContext mismo agregando UIGraphicsEndImageContext después de su uso.