如何配置单点触控应用程序?
Posted
技术标签:
【中文标题】如何配置单点触控应用程序?【英文标题】:How can I profile a monotouch app? 【发布时间】:2011-09-16 11:25:09 【问题描述】:我正在尝试使用 Instruments 分析我的 iPhone 应用程序中的性能问题。我在调试模式下编译并安装了我的应用程序,创建了一个“时间分析器”并成功记录了一些有问题的时间间隔的数据,但我还没有弄清楚如何分析我正在记录的数据。
我了解分析器通常是如何工作的,我对 Rational Quantify 有相当多的经验,但在这种情况下,我很难过。
我想看到什么:我编写的哪些函数是给定时间段内的 cpu 性能瓶颈?
我所看到的:许多看似微不足道的噪音显然与我自己的应用程序代码无关:http://screencast.com/t/3gYOuwua3
我尝试了各种过滤器,但没有一个真正有用。我应该如何进行?
谢谢,
阿德里安
【问题讨论】:
【参考方案1】:这太常见了……
首先,“自我”时间在任何真正的软件中几乎没有用处。 它所做的只是让你看着它,然后去“gack!”。
如果你碰巧在某个时间点冻结了它,你会看到一个调用堆栈有很多层,而在堆栈的顶端它会是
在 I/O、睡眠或其他一些非计算状态下被阻塞,或者 通过远离您的代码的一些库层运行程序计数器。很少在您可以控制的代码中找到程序计数器。 因此,即使您确实在代码中找到了超过百分之几的自我时间,修复它也无法节省更多。
另一方面,堆栈上的其他代码行呢? 如果你冻结它 10 次,其中有 5 次,特定的代码行在堆栈上,你知道那行,如果你可以避免执行它,将为你节省 50%,大约.
我不寻找“慢功能”或“热点”。 我使用的技术是this,还有一个lot more reasons why。
【讨论】:
感觉像是从石器时代开始分析(例如,Rational Quantify 更加彻底),但对于我的场景来说效果很好。谢谢! @Adrian:嘿,也许是石器时代。我(和许多其他人)从预分析器时代就开始这样做了。我并不声称它更有效。我声称它更有效。 SO充满了像你这样的问题。当实际的概念如此简单时,这有点可悲。以上是关于如何配置单点触控应用程序?的主要内容,如果未能解决你的问题,请参考以下文章