Как измерить производительность макета в Android?

Я использовал вложенные представления на одном из экранов в своем приложении для Android. Теперь, когда я удалил их все и использовал ConstraintLayoutдля прироста производительности я хочу измерить, насколько производительность увеличилась. Есть ли способ измерить прирост производительности?

1 ответ

Вероятно, самый простой способ — просто профилировать приложение с помощью профилировщика, используя старый код и новый, и посмотреть, сколько инклюзивного времени тратится на onLayout в обеих версиях.

Ожидайте, что разница будет менее существенной, чем вы ожидаете. Реальность такова, что ваш основной поток будет бездействовать большую часть времени, поэтому повышение эффективности компоновки редко является важным фактором производительности вашего приложения. Я бы никогда не рефакторил вложенный дизайн для этого, я бы рефакторил вложенный дизайн, если бы использование макета ограничений дало мне более чистый XML для моего представления. Также помните, что в зависимости от того, какие функции вы используете, ограниченное представление может не работать быстрее. Быстрее создать вложенный линейный макет, чем, например, вычислить целую кучу ограничений для нескольких внутренних представлений.

Другие вопросы по тегам