Эффективное использование инструментов производительности XCode - PullRequest
4 голосов
/ 12 января 2010

Каковы лучшие практики, приемы и учебные пособия для использования инструментов производительности XCode, таких как Leak Monitor и сэмплер процессора, для тех, кто пытается отладить и повысить производительность приложения iPhone? Спасибо!

Ответы [ 2 ]

3 голосов
/ 12 января 2010

Это полностью зависит от приложения и от того, что вы пытаетесь сделать. Вы пытаетесь оптимизировать все приложение или вы сосредоточены на конкретной проблемной области? Вы пытаетесь уменьшить использование памяти, уменьшить нагрузку на процессор и / или сделать приложение более отзывчивым?

Перед началом анализа производительности используйте статический анализатор для анализа кода. Часто возникают проблемы с управлением памятью, которые могут привести к утечкам, которые могут привести к сбою приложения на устройстве.

Как только все выявленные анализатором проблемы были устранены, лучше всего начать с выявления предполагаемых проблем с производительностью. То есть сфокусируйтесь на проблемах производительности, которые заметит пользователь. Затем проанализируйте их. Если вам это сойдет с рук, проведите анализ в приложении, работающем в симуляторе, так как время обработки данных сокращается.

Если проблема связана с раздуванием, используйте Object Alloc и Leaks, чтобы выяснить, почему.

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

Кроме того, вам нужно определить конкретные сценарии, чтобы получить конкретные ответы.

0 голосов
/ 12 января 2010

использовать инструменты в этом использовании распределение объектов монитор активности, утечки монитор Memoer

и протестируйте ваше приложение

...