今天我遇到了一些奇怪的事情:我尝试将一个实用程序方法作为类方法放入一个实用程序类中,这样我就可以简单地调用该方法来轻松生成一个方便的 UIView(不是 imageNamed 方法,而是其他方法) ,更为复杂)。那太差了。表现太糟糕了。然后我用它创建了一个实例方法,创建了该类的一个实例并调用了该实例方法。性能突然很棒。那太奇怪了!
您对此类事情有什么经验?
最佳答案
您的情况还有其他情况。方法调用为 pretty lightweight ,并且我怀疑类方法和实例方法之间的性能是否存在明显差异。至少,根据我的经验,我从未发现两者之间有什么区别。
性能下降的根源通常并不像它们最初看起来的那样,因此我建议针对 Instruments 或 Shark 运行您的应用程序,以查看在这种情况下瓶颈在哪里。我的猜测是,您正在类方法中分配内存,而实例方法中没有分配内存,这是 iPhone 上最昂贵的操作之一。
关于iphone - 调用实例方法通常比调用类方法更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483602/