如何找出mach_msg_trap等待的内容?

Pey*_*loW 31 performance cocoa-touch objective-c instruments

我在目标上分析我的iPhone应用程序,根据仪器,65%的时间用于mach_msg_trap.

我有一个永远运行的后台线程,并使用performSelectorOnMainThread:withObject:waitUntilDone:大约每2秒将结果发送回主线程.我不等到完成.

Pey*_*loW 24

结果我的应用程序实际上并没有花费65%的时间在mach_msg_trap功能中.对我而言,这是仪器中的配置错误.

Sampler工具默认为All Sample Counts,这将测量所有线程,无论其状态如何.

而是切换到将反映当前实际工作负载的运行采样时间. 仪器的屏幕截图http://developer.apple.com/library/mac/qa/qa2009/images/qa1619_running_sample_times.png

  • 这里所有的链接都被打破了 (3认同)