【问题标题】:Methods to determine time spent 'drawing' by UIImageView?确定 UIImageView“绘图”时间的方法?
【发布时间】:2012-06-22 00:10:12
【问题描述】:

在我的应用程序中,当我将一些自定义组件添加到 UIImageView 时,我发现性能很差。很可能是上述自定义组件,它们需要改进,但我希望能够衡量未来的改进。我还想看看在特定视图的动画期间 UIImageView 被绘制了多少次。

我采用的一种策略是将 UIImageView 子类化(仅用于基准测试)并在我的子类中覆盖“绘制”方法记录一些内容,然后调用超类的方法。

这样就好了,不会为 UIImageView 的子类调用 drawRect 的保存。是否有我可以以这种方式覆盖的 UIImageView 的“绘图”方法?

理论上,我可以通过将 UIImageView 的子类替换为 UIView 的子类来完成类似的操作,但这会变得更具侵入性,我只想将其作为最后的手段。

最后,我是不是走上了一条兔子路,并且有一个非常明显的解决方案(或工具)在盯着我看?我知道 Instruments 可以在这方面提供一些帧速率方面的分析,但由于我对该工具的了解有限,我没有看到解决问题的方法。

【问题讨论】:

    标签: ios uiimageview profiling instruments


    【解决方案1】:

    使用仪器。

    它是为这些东西而设计的。你甚至自己也说过。

    如果您以前从未使用过“Instruments User Guide”,那么它是一个很好的起点。

    学习如何使用乐器是值得的。在调整应用程序的性能、查找内存泄漏等时,您将始终使用它。


    如果你真的确定要知道一个方法的执行时间,那么你可以看看 DTrace。它非常强大,但比 Instruments 更难。您还可以使用它在 Instruments 中构建您的自定义工具。

    【讨论】:

      猜你喜欢
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 2018-10-12
      • 1970-01-01
      相关资源
      最近更新 更多