Как правило, быстрее вызывать метод экземпляра, чем метод класса? - PullRequest
2 голосов
/ 20 марта 2010

Сегодня я столкнулся с чем-то странным: я попытался поместить служебный метод в класс Utility как метод класса, чтобы я мог просто вызвать этот метод, чтобы сгенерировать мне удобный UIView без проблем (не метод imageNamed, а другой гораздо более сложный). Это было ужасно. Спектакль был невероятно плохим. Затем я сделал из него метод экземпляра, создал экземпляр этого класса и вызвал метод экземпляра. Производительность была внезапно отличной. Это так странно!

Какой у вас опыт такого рода вещей?

1 Ответ

4 голосов
/ 20 марта 2010

В вашем случае происходит что-то еще. Вызовы методов довольно легкие , и я сомневаюсь, что производительность метода класса и метода экземпляра заметно отличается. По крайней мере, я никогда не видел разницы между этими двумя в моем опыте.

Источники снижения производительности зачастую не такие, какими они кажутся на первый взгляд, поэтому я рекомендую запустить ваше приложение на Instruments или Shark, чтобы определить узкое место в этом случае. Я предполагаю, что вы выделяете память в методе класса, который не был выделен в методе экземпляра, который является одной из самых дорогих операций на iPhone.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...