Sometimes when I load a table view, and I'm performing no activity intentionally except letting the table view show, I'll wait a few seconds and then my CPU usage shoots up. How can I find the cause?
Why might this thread be sucking up 99.9% CPU?
I don't know. But here are some thoughts:
- The responsible library is
UIKit
. So it seems that some user interface code is broken. - A function named
FreeContextStack
is running for a long time. pthread_once
andpthread_getspecific
take a considerable amount of time. These functions are fast, so they have to run very often.- They are part of
GetContextStack
andPopContext
It seems that in your code there is some sort of "context" stack being pushed—but not popped. I'd look for occurrences of UIGraphicsPushContext
or UIGraphicsBeginImageContext
without their closing counterparts.
But I might be totally off and those functions are not part of graphics context code.
Its possible you're not ending your UIGraphicsBeginImageContext
I solved the same by adding UIGraphicsEndImageContext
after use.
来源:https://stackoverflow.com/questions/24940174/ios-cpu-profile-why-might-this-thread-be-sucking-up-99-9-cpu