Метрики
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
10 января 2024 г. | - | - | 1.0.0-бета01 | - |
Объявление зависимостей
Чтобы добавить зависимость от Metrics, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta01" }
Котлин
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta01") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.0.0
Версия 1.0.0-бета01
10 января 2024 г.
API и функциональность этой библиотеки уже некоторое время стабильны. Этот выпуск просто переводит библиотеку в бета-версию.
Выпущен androidx.metrics:metrics-performance:1.0.0-beta01
. Версия 1.0.0-beta01 содержит эти коммиты.
Версия 1.0.0-альфа04
5 апреля 2023 г.
В этом выпуске JankStats обновляются до последних исправлений, которые включают более точную и полную информацию о времени.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha04
. Версия 1.0.0-alpha04 содержит эти коммиты.
Изменения API
-
cpuDuration
теперь более точный, а также новыйtotalDuration
на API31 ( I59ce8 , b/243694893 )
Версия 1.0.0-альфа03
27 июля 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Этот выпуск содержит незначительные улучшения API, поскольку библиотека приближается к стадии бета-тестирования. Одно из изменений API удаляет Executor из фабричного метода
createAndTrack()
для создания объектаJankStats
. Это имеет последствия для обратного вызоваOnFrameListener
, поскольку этот прослушиватель теперь вызывается в потоке, который доставляет данные по кадрам вJankStats
(поток Main/UI в версиях, предшествующих API 24, и потокFrameMetrics
в API 24+). Более того, объектFrameData
передаваемый прослушивателю, теперь повторно используется в каждом кадре, поэтому данные из этого объекта необходимо копировать и кэшировать в другом месте во время обратного вызова, поскольку этот объект должен считаться устаревшим, как только прослушиватель вернется.Также были исправлены различные ошибки, в том числе некоторые проблемы с параллелизмом.
Наконец, исправление повторного использования
FrameData
(упомянутое выше) означает, что теперь на каждый кадр выделяется нулевое количество ресурсов из-за доставки метрик кадра. Раньше было не так много выделений, но новый подход означает, что вы можете использоватьJankStats
без каких-либо накладных расходов на покадровый сбор мусора в вашем приложении.
Изменения API
- Обновлены имена методов и параметров в
PerformanceMetricsState
чтобы сделать результаты этих вызовов более понятными. ( И56да5 , б/233421985 ) - Добавлены тесты производительности для отслеживания распределений, устранены некоторые внутренние распределения, связанные с управлением состоянием и отчетностью. Обратите внимание, что
FrameData
передаваемый прослушивателям, теперь считается изменчивым; эта структура будет повторно использоваться для следующего кадра, и данные будут надежными только до тех пор, пока прослушиватель не вернется. - Удален Executor из конструктора
JankStats
; прослушиватели теперь вызываются в любом потоке, в котором были получены внутренние данные. ( I12743 )
Исправления ошибок
- Исправлен сбой из-за двойного удаления
OnFrameMetricsAvailableListener
( I44094 , b/239457413 ). - Вернитесь к исходной логике публикации сообщений
OnPreDrawListener
в начале очереди для более согласованной и предсказуемой синхронизации кадров. ( I05a43 , б/233358407 ) - Исправлена ошибка
ConcurrentModificationException
, из-за которой список делегатов прослушивателя изменялся во время его повторения для отправки покадровых данных. ( Ib7693 , б/236612357 )
Версия 1.0.0-альфа02
29 июня 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha02
. Версия 1.0.0-alpha02 содержит эти коммиты.
Изменения API
-
MetricsStateHolder
переименован в просто Holder (вPerformanceMetricsState
): ( I5a4d9 , b/226565716 , b/213499234 ).
Исправления ошибок
- Исправлена проблема с синхронизацией, из-за которой состояния могли быть заменены новыми значениями до обработки кадров, где старое состояние было бы правильным ( aosp/2061892 , b/213499234 ).
- Исправлено исключение одновременной модификации при добавлении/удалении прослушивателей ( aosp/2092714 , b/213499234 )
- Сделаны вычисления startTime более точными ( aosp/2027704 , b/213245198 )
- Исправлена ошибка в реализации
FrameData.equals()
( aosp/2025866 , b/218296544 ).
Версия 1.0.0-альфа01
9 февраля 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
- Библиотека
JankStats
предоставляет функциональные возможности для инструментирования и получения обратных вызовов в вашем приложении во время выполнения, что может помочь обнаружить реальные проблемы с производительностью. -
JankStats
сочетает в себе API, который позволяет легко вводить информацию о состоянии пользовательского интерфейса, с возможностями отслеживания и составления отчетов о производительности каждого кадра, что позволяет разработчикам понять не то, есть ли у приложения проблемы с производительностью, а когда и почему.
Метрики
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
10 января 2024 г. | - | - | 1.0.0-бета01 | - |
Объявление зависимостей
Чтобы добавить зависимость от Metrics, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta01" }
Котлин
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta01") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.0.0
Версия 1.0.0-бета01
10 января 2024 г.
API и функциональность этой библиотеки уже некоторое время стабильны. Этот выпуск просто переводит библиотеку в бета-версию.
Выпущен androidx.metrics:metrics-performance:1.0.0-beta01
. Версия 1.0.0-beta01 содержит эти коммиты.
Версия 1.0.0-альфа04
5 апреля 2023 г.
В этом выпуске JankStats обновляются до последних исправлений, которые включают более точную и полную информацию о времени.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha04
. Версия 1.0.0-alpha04 содержит эти коммиты.
Изменения API
-
cpuDuration
теперь более точный, а также новыйtotalDuration
на API31 ( I59ce8 , b/243694893 )
Версия 1.0.0-альфа03
27 июля 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Этот выпуск содержит незначительные улучшения API, поскольку библиотека приближается к стадии бета-тестирования. Одно из изменений API удаляет Executor из фабричного метода
createAndTrack()
для создания объектаJankStats
. Это имеет последствия для обратного вызоваOnFrameListener
, поскольку этот прослушиватель теперь вызывается в потоке, который доставляет данные по кадрам вJankStats
(поток Main/UI в версиях, предшествующих API 24, и потокFrameMetrics
в API 24+). Более того, объектFrameData
передаваемый прослушивателю, теперь повторно используется в каждом кадре, поэтому данные из этого объекта необходимо копировать и кэшировать в другом месте во время обратного вызова, поскольку этот объект должен считаться устаревшим, как только прослушиватель вернется.Также были исправлены различные ошибки, в том числе некоторые проблемы с параллелизмом.
Наконец, исправление повторного использования
FrameData
(упомянутое выше) означает, что теперь на каждый кадр выделяется нулевое количество ресурсов из-за доставки метрик кадра. Раньше было не так много выделений, но новый подход означает, что вы можете использоватьJankStats
без каких-либо накладных расходов на покадровый сбор мусора в вашем приложении.
Изменения API
- Обновлены имена методов и параметров в
PerformanceMetricsState
чтобы сделать результаты этих вызовов более понятными. ( I56da5 , б/233421985 ) - Добавлены тесты производительности для отслеживания распределений, устранены некоторые внутренние распределения, связанные с управлением состоянием и отчетностью. Обратите внимание, что
FrameData
передаваемый слушателям, теперь считается изменчивым; эта структура будет повторно использоваться для следующего кадра, и данные будут надежными только до тех пор, пока прослушиватель не вернется. - Удален Executor из конструктора
JankStats
; прослушиватели теперь вызываются в любом потоке, в котором были получены внутренние данные. ( I12743 )
Исправления ошибок
- Исправлен сбой из-за двойного удаления
OnFrameMetricsAvailableListener
( I44094 , b/239457413 ). - Вернитесь к исходной логике публикации сообщений
OnPreDrawListener
в начале очереди для более согласованной и предсказуемой синхронизации кадров. ( I05a43 , б / 233358407 ) - Исправлена ошибка
ConcurrentModificationException
, из-за которой список делегатов прослушивателя изменялся во время его повторения для отправки покадровых данных. ( Ib7693 , б/236612357 )
Версия 1.0.0-альфа02
29 июня 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha02
. Версия 1.0.0-alpha02 содержит эти коммиты.
Изменения API
-
MetricsStateHolder
переименован в просто Holder (вPerformanceMetricsState
): ( I5a4d9 , b/226565716 , b/213499234 ).
Исправления ошибок
- Исправлена проблема с синхронизацией, из-за которой состояния могли быть заменены новыми значениями до обработки кадров, где старое состояние было бы правильным ( aosp/2061892 , b/213499234 ).
- Исправлено исключение одновременной модификации при добавлении/удалении прослушивателей ( aosp/2092714 , b/213499234 )
- Сделаны расчеты startTime более точными ( aosp/2027704 , b/213245198 )
- Исправлена ошибка в реализации
FrameData.equals()
( aosp/2025866 , b/218296544 ).
Версия 1.0.0-альфа01
9 февраля 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
- Библиотека
JankStats
предоставляет функциональные возможности для инструментирования и получения обратных вызовов в вашем приложении во время выполнения, что может помочь обнаружить реальные проблемы с производительностью. -
JankStats
сочетает в себе API, который позволяет легко вводить информацию о состоянии пользовательского интерфейса, с возможностями отслеживания и составления отчетов о производительности каждого кадра, что позволяет разработчикам понять не то, есть ли у приложения проблемы с производительностью, а когда и почему.
Метрики
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
10 января 2024 г. | - | - | 1.0.0-бета01 | - |
Объявление зависимостей
Чтобы добавить зависимость от Metrics, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta01" }
Котлин
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta01") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.0.0
Версия 1.0.0-бета01
10 января 2024 г.
API и функциональность этой библиотеки уже некоторое время стабильны. Этот выпуск просто переводит библиотеку в бета-версию.
Выпущен androidx.metrics:metrics-performance:1.0.0-beta01
. Версия 1.0.0-beta01 содержит эти коммиты.
Версия 1.0.0-альфа04
5 апреля 2023 г.
В этом выпуске JankStats обновляются до последних исправлений, которые включают более точную и полную информацию о времени.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha04
. Версия 1.0.0-alpha04 содержит эти коммиты.
Изменения API
-
cpuDuration
теперь более точный, а также новыйtotalDuration
на API31 ( I59ce8 , b/243694893 )
Версия 1.0.0-альфа03
27 июля 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Этот выпуск содержит незначительные улучшения API, поскольку библиотека приближается к стадии бета-тестирования. Одно из изменений API удаляет Executor из фабричного метода
createAndTrack()
для создания объектаJankStats
. Это имеет последствия для обратного вызоваOnFrameListener
, поскольку этот прослушиватель теперь вызывается в потоке, который доставляет данные по кадрам вJankStats
(поток Main/UI в версиях, предшествующих API 24, и потокFrameMetrics
в API 24+). Более того, объектFrameData
передаваемый прослушивателю, теперь повторно используется в каждом кадре, поэтому данные из этого объекта необходимо копировать и кэшировать в другом месте во время обратного вызова, поскольку этот объект должен считаться устаревшим, как только прослушиватель вернется.Также были исправлены различные ошибки, в том числе некоторые проблемы с параллелизмом.
Наконец, исправление повторного использования
FrameData
(упомянутое выше) означает, что теперь на каждый кадр выделяется нулевое количество ресурсов из-за доставки метрик кадра. Раньше было не так много выделений, но новый подход означает, что вы можете использоватьJankStats
без каких-либо накладных расходов на покадровый сбор мусора в вашем приложении.
Изменения API
- Обновлены имена методов и параметров в
PerformanceMetricsState
чтобы сделать результаты этих вызовов более понятными. ( I56da5 , б/233421985 ) - Добавлены тесты производительности для отслеживания распределений, устранены некоторые внутренние распределения, связанные с управлением состоянием и отчетностью. Обратите внимание, что
FrameData
передаваемый слушателям, теперь считается изменчивым; эта структура будет повторно использоваться для следующего кадра, и данные будут надежными только до тех пор, пока прослушиватель не вернется. - Удален Executor из конструктора
JankStats
; прослушиватели теперь вызываются в любом потоке, в котором были получены внутренние данные. ( I12743 )
Исправления ошибок
- Исправлен сбой из-за двойного удаления
OnFrameMetricsAvailableListener
( I44094 , b/239457413 ). - Вернитесь к исходной логике публикации сообщений
OnPreDrawListener
в начале очереди для более согласованной и предсказуемой синхронизации кадров. ( I05a43 , б / 233358407 ) - Исправлена ошибка
ConcurrentModificationException
, из-за которой список делегатов прослушивателя изменялся во время его повторения для отправки покадровых данных. ( Ib7693 , б/236612357 )
Версия 1.0.0-альфа02
29 июня 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha02
. Версия 1.0.0-alpha02 содержит эти коммиты.
Изменения API
-
MetricsStateHolder
переименован в просто Holder (вPerformanceMetricsState
): ( I5a4d9 , b/226565716 , b/213499234 ).
Исправления ошибок
- Исправлена проблема с синхронизацией, из-за которой состояния могли быть заменены новыми значениями до обработки кадров, где старое состояние было бы правильным ( aosp/2061892 , b/213499234 ).
- Исправлено исключение одновременной модификации при добавлении/удалении прослушивателей ( aosp/2092714 , b/213499234 )
- Сделаны вычисления startTime более точными ( aosp/2027704 , b/213245198 )
- Исправлена ошибка в реализации
FrameData.equals()
( aosp/2025866 , b/218296544 ).
Версия 1.0.0-альфа01
9 февраля 2022 г.
Выпущен androidx.metrics:metrics-performance:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
- Библиотека
JankStats
предоставляет функциональные возможности для инструментирования и получения обратных вызовов в вашем приложении во время выполнения, что может помочь обнаружить реальные проблемы с производительностью. -
JankStats
сочетает в себе API, который позволяет легко вводить информацию о состоянии пользовательского интерфейса, с возможностями отслеживания и составления отчетов о производительности каждого кадра, что позволяет разработчикам понять не то, есть ли у приложения проблемы с производительностью, а когда и почему.