iOS CPU Profile:为什么这个线程可能会吸收99.9%的CPU?

Ros*_*one 10 multithreading ios xcode-instruments

有时当我加载一个表视图,并且除了让表视图显示之外我没有故意执行任何活动时,我会等待几秒钟然后我的CPU使用率会上升.我怎样才能找到原因?

在此输入图像描述

Nik*_*uhe 15

为什么这个线程可能会吸收99.9%的CPU?

我不知道.但这里有一些想法:

  1. 负责任的图书馆是UIKit.所以似乎有些用户界面代码被破坏了.
  2. 名为的函数FreeContextStack正在运行很长时间.
  3. pthread_oncepthread_getspecific花了相当多的时间.这些功能是快速,所以他们不得不跑频繁.
  4. 他们是GetContextStack和的一部分PopContext

似乎在你的代码中有某种"上下文"堆栈被推送 - 但没有弹出.我会寻找有UIGraphicsPushContextUIGraphicsBeginImageContext没有结束对手的事件.

但我可能完全关闭,这些功能不是图形上下文代码的一部分.