Эффективное использование инструментов XCode performace
-
20-09-2019 - |
Вопрос
Каковы рекомендации, приемы и руководства по использованию инструментов повышения производительности XCode, таких как монитор утечек и пробоотборник процессора, для тех, кто пытается отладить и повысить производительность приложения для iPhone?Спасибо!
Решение
Это полностью зависит от приложения и от того, что вы пытаетесь сделать.Вы пытаетесь оптимизировать все приложение или сосредоточены на конкретной проблемной области?Вы пытаетесь уменьшить использование памяти, уменьшить загрузку процессора и / или сделать приложение более отзывчивым?
Прежде чем приступить к анализу производительности, используйте статический анализатор для анализа вашего кода.Он часто обнаруживает проблемы с управлением памятью, которые могут привести к утечкам, которые могут привести к потенциальному сбою вашего приложения на устройстве.
Как только все выявленные анализатором проблемы будут устранены, наилучшим подходом будет начать с выявления предполагаемых проблем с производительностью.То есть сосредоточьтесь на проблемах с производительностью, которые заметил бы пользователь.Затем проанализируйте их.Если вам это сойдет с рук, проведите анализ приложения, запущенного в симуляторе, поскольку время выполнения заказа сокращается.
Если проблема заключается в раздувании, используйте Object Alloc и Leakes, чтобы выяснить причину.
Если это одно из запаздывающих / вялых действий, используйте инструменты процессора, чтобы выяснить, куда идут циклы.Однако имейте в виду, что вялое поведение может не быть из-за загрузки процессора, но мочь быть из-за того, что основной цикл событий чем-то заблокирован, скорее всего, неправильными шаблонами параллелизма.В этом случае вы увидите все образцы в основном потоке в какой-то функции блокировки или ожидания.
Помимо этого, вам нужно будет определить конкретные сценарии, чтобы получить конкретные ответы.
Другие советы
используйте инструменты, в которых используется распределение объектов монитор активности, утечки монитор памяти
и протестируйте свое приложение