RSS Stories by Pinterest Engineering on Medium
Подписаться
Производительность для всех
Производительность имеет решающее значение для мобильных приложений, подобно такой базовой функции, как время на часах. Pinterest уделяет большое внимание измерению, защите и улучшению производительности ключевых пользовательских сценариев. Воспринимаемая пользователем задержка, отражающая время ожидания пользователем контента, является жизненно важным показателем производительности. Измерение этой задержки, особенно времени до визуального завершения, ранее было сложным и трудоемким. Поскольку время до визуального завершения сильно варьируется, требовалась индивидуальная логика измерения, что препятствовало работе над производительностью. Команда по производительности Pinterest искала простое решение для инженеров-разработчиков, чтобы получить доступ к данным о задержках. Это привело к интеграции логики визуального завершения в базовый класс пользовательского интерфейса, автоматически измеряя задержку для любой поверхности пользовательского интерфейса. Система работает путем обхода дерева представлений, идентификации и отслеживания ключевых медиа-представлений для отслеживания прогресса рендеринга. Эта унифицированная система предоставляет данные о задержках для более чем 60 поверхностей Android, помогая в мониторинге производительности. Она позволяет проводить справедливые сравнения производительности между различными функциями, в том числе с коротким сроком службы. Этот упрощенный подход делает производительность видимой для всех инженеров, способствуя оптимизации воспринимаемой пользователем задержки. Аналогичные реализации были также распространены на платформы iOS и веб.