如何配置单点触控应用程序?

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充满了像你这样的问题。当实际的概念如此简单时,这有点可悲。

以上是关于如何配置单点触控应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

在android中绘制单点触控运动路径

单点触控更改捆绑路径

数据密集型应用程序的电话差距与单点触控

为啥没有调用第二个单点触控视图控制器工具栏按钮事件处理程序

如何在我的单点触控项目中使用 JdSoft.Apple.Apns.Notifications

在单点触控中使用 UIActivityViewController