2012-06-19 5 views
0

В моем приложении я вижу ужасное представление, когда добавляю некоторые пользовательские компоненты в UIImageView. Скорее всего, вышеупомянутые пользовательские компоненты, и их нужно будет улучшить, но я хотел бы иметь возможность измерять упомянутые улучшения по дороге. Я также хотел бы посмотреть, сколько раз UIImageView рисуется во время анимации определенного вида.Методы определения времени, проведенного 'drawing' by UIImageView?

Одна из стратегий, с которой я столкнулся, - это подклассификация UIImageView (только для целей бенчмаркинга) и переопределение методов «draw» в моем журнале подкласса, а затем вызов метода суперкласса.

Это было бы хорошо, за исключением drawRect не будет вызываться для подклассов UIImageView. Существуют ли методы рисования для UIImageView, которые я мог бы переопределить таким образом?

В теории я мог бы сделать что-то подобное, заменив подкласс UIImageView подклассом UIView, но это станет немного более инвазивным, и я бы хотел сделать это только в крайнем случае.

И, наконец, я прогуливаюсь по кроличьей тропе, и есть действительно очевидное решение (или инструмент), глядящее мне в лицо? Я знаю, что инструменты могут обеспечить некоторый профилирование с точки зрения частоты кадров в этой области, но я не вижу решения моей проблемы с моим ограниченным знанием инструмента.

ответ

2

Использование инструментов.

Это сделано для этих целей. Вы даже сказали это себе.

«Instruments User Guide» - хорошее место для начала, если вы его раньше не использовали.

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


Если вы действительно решили узнать время выполнения метода, то вы могли бы посмотреть на DTrace. Это очень мощный, но намного сложнее, чем инструменты. Вы также можете использовать его для создания собственных инструментов в Инструментах.

Смежные вопросы