iphone - 调用实例方法通常比调用类方法更快吗?

标签 iphone objective-c cocoa-touch performance

今天我遇到了一些奇怪的事情:我尝试将一个实用程序方法作为类方法放入一个实用程序类中,这样我就可以简单地调用该方法来轻松生成一个方便的 UIView(不是 imageNamed 方法,而是其他方法) ,更为复杂)。那太差了。表现太糟糕了。然后我用它创建了一个实例方法,创建了该类的一个实例并调用了该实例方法。性能突然很棒。那太奇怪了!

您对此类事情有什么经验?

最佳答案

您的情况还有其他情况。方法调用为 pretty lightweight ,并且我怀疑类方法和实例方法之间的性能是否存在明显差异。至少,根据我的经验,我从未发现两者之间有什么区别。

性能下降的根源通常并不像它们最初看起来的那样,因此我建议针对 Instruments 或 Shark 运行您的应用程序,以查看在这种情况下瓶颈在哪里。我的猜测是,您正在类方法中分配内存,而实例方法中没有分配内存,这是 iPhone 上最昂贵的操作之一。

关于iphone - 调用实例方法通常比调用类方法更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483602/

相关文章:

iphone - 在由 CGMutablePaths 组成的 Shape 周围拖动 UIView

iphone - 将文件夹移动到文档目录

iphone - 如何比较字符串? (`==` 返回错误值)

iphone - 防止 subview 在 UIScrollView 中滚动

iphone - iPhone SDK 4.0 中的滑动手势?

ios - 根据与位置的距离计算 MAX 和 MIN 纬度和经度 - Objective-C

iphone - 在默认搜索栏中搜索字符串为空时启用搜索按钮

objective-c - 如何确定父类(super class)私有(private)方法是否在 Objective-C 中被重写?

ios - 直观地对标签和按钮进行分组

ios - 循环添加 UIImageView Cocoa Touch