2010-03-20 24 views
2

今天我遇到了一些奇怪的事情:我試圖把一個實用方法爲工具類作爲一個類的方法,這樣我可以簡單地調用該方法來生成我一個方便的UIView沒有麻煩(不是imageNamed方法,但另一方面,更復雜的一個)。那太差了。表現非常糟糕。然後我創建了一個實例方法,創建了該類的一個實例並調用實例方法。表現突然很好。太奇怪了!調用實例方法而不是類方法通常更快嗎?

你對這種東西有什麼經驗?

回答

4

還有別的東西在你的情況怎麼回事。方法調用是pretty lightweight,我懷疑類方法和實例方法之間的性能存在明顯差異。至少,在我的經驗中,我從來沒有看到過這兩者之間的區別。性能下降的

來源往往不是他們第一次出現是的,所以我建議你運行對儀器或鯊魚應用程序,看看那裏的瓶頸,在這種情況下。我的猜測是,你在一個沒有在實例方法,這是在iPhone上最昂貴的操作之一分配類方法的方法分配內存。

+0

的確有些微差別。我沒有看到它。一旦我使用了objectWithFooBar,而在另一種情況下,我做了一個alloc init對。但是:是不是內部的objectWithFooBar東西只爲我做了alloc + init?實際上應該是一樣的:分配內存。我詳細地創建了一個UIImage。 – dontWatchMyProfile 2010-03-23 18:00:07

相關問題