ShareChat устраняет проблемы с спамом, увеличивая прокрутку канала на 60 %, ShareChat устраняет проблемы с спамом, увеличивая прокрутку канала на 60 %, ShareChat устраняет проблемы с спамом, увеличивая прокрутку канала на 60 %, ShareChat устраняет проблемы с спамом, увеличивая прокрутку канала на 60 %

Введение

ShareChat — ведущая платформа социальных сетей в Индии, которая позволяет пользователям делиться своим мнением, документировать свою жизнь и заводить новых друзей на родном языке. Другие функции включают чаты и личные сообщения, позволяющие пользователям обмениваться видео, шутками, песнями и другим социальным контентом на языковой основе. Ставя целью стать инициатором интернет-революции в Индии, ShareChat меняет то, как следующий миллиард пользователей будет взаимодействовать в Интернете.

Приложение в цифрах

  • Более 100 миллионов загрузок
  • 180+ миллионов активных пользователей в месяц
  • Более 32 миллионов создателей контента
  • 15 разных индийских языков
  • Ежедневно создается около 1,5 миллиона сообщений.

Вызов

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

В результате в приложении увеличилось количество пропущенных или задержанных кадров (также известное как «Jank»). Исправление этих проблем с зависаниями путем улучшения медленных и зависающих кадров имело решающее значение для обеспечения бесперебойной работы всех пользователей. Это также сыграет важную роль в том, чтобы заставить пользователей проводить больше времени в приложении, повысить вовлеченность и, в свою очередь, улучшить рейтинг ShareChat в Android Play Store.

Как они это сделали

ShareChat работал с командой Google по связям с разработчиками, чтобы уменьшить спам и добиться положительного влияния на бизнес за счет улучшения медленных и зависших кадров (Jank) в приложении. В частности, они работали над улучшением следующих проблем:

  • Общий пул RecyclerView . При профилировании было замечено, что создание разных держателей просмотра занимает больше времени, и чтобы свести это к минимуму, был создан общий пул RecyclerView. Это также помогло снизить затраты зрителей на создание подобных каналов.

  • Чрезмерный проход по макету . При профилировании также было замечено, что некоторые владельцы просмотров запрашивали дополнительные requestLayouts. В целях оптимизации код был обновлен, чтобы учитывать время создания, а не каждую привязку, что позволило сэкономить дополнительные затраты на requestLayout.

  • OverDraw — упрощены макеты, чтобы уменьшить количество слоев и удалить цвета, которые устанавливались отдельно для каждого слоя.

  • Сглаживание иерархии . Наблюдалось длительное раздувание посредством профилирования и ручной проверки многих экранов. Для решения этой проблемы иерархия была сглажена с помощью ConstraintLayout .

  • Чрезмерное увеличение просмотров . Во время профилирования обнаружено длительное увеличение времени для определенных просмотров. Эти представления были преобразованы в заглушки.

  • Удаление тяжелых задач из потока пользовательского интерфейса . Использование профилировщика позволило наблюдать за несколькими местами, где в основном потоке выполнялись тяжелые задачи, например создание SpannableStringBuilder с маркировкой и стилем каждой привязки recyclerView, декодирование BlurHash и т. д. Эти задачи были удален из потока пользовательского интерфейса и перемещен в фоновый поток.

  • Миграция с Rx на Coroutine . Потребление памяти также приводило к частым вызовам GC, и в потоке RX было очень большое количество потоков >100. Многие варианты использования были перенесены в Coroutine, чтобы исправить эти проблемы.

  • Использование Coil для загрузки изображений . Glide вызывал проблемы при загрузке изображений, особенно в компонентах, созданных с помощью Jetpack Compose. Также было обнаружено, что при загрузке изображений в LazyColumn полоса порога рендеринга была высокой. Эти случаи привели к использованию Coil для загрузки изображений.

  • Очистка и рефакторинг старого кода . Удаление старого кода и эксперименты помогли удалить ненужные скрытые представления из пользовательского интерфейса и помогли лучше переписать некоторые экраны.

Результаты

Анализируя области улучшения и определяя стратегии оптимизации, ShareChat может улучшить общее впечатление для пользователей, одновременно повышая уровень вовлеченности и рейтинги в Play Store. Ниже представлен количественный обзор результатов, достигнутых ShareChat:

  • Примерно на 45 % уменьшено количество кадров с медленной визуализацией в магазине Play Store.
  • Примерно на 30 % меньше «замороженных» кадров в Play Store.
  • Частота кадров для каждых 10 тысяч отрисованных кадров уменьшена с 10,72% до 3,98%.
  • Прокрутка ленты увеличена на 60 %.
  • Общий рейтинг в Магазине увеличился с ~4,0 до 4,3.
  • 10% увеличение потребления постов

«В ShareChat наша цель — стать лучшим приложением для социальных сетей, которое доставляет удовольствие нашим пользователям. Это также означает, что мы должны быть лучшими с точки зрения производительности приложения. Наше сотрудничество с командой Google по связям с разработчиками помогло нам определить области улучшения на наших наиболее часто используемых недорогих пользовательских устройствах. Мы изучили лучшие методы повышения производительности и инструменты для выявления и устранения зависших кадров, зависаний, перерисовки и ошибок ANR».

– Вихан Верма, технический менеджер группы Android в ShareChat

,

Введение

ShareChat — ведущая платформа социальных сетей в Индии, которая позволяет пользователям делиться своим мнением, документировать свою жизнь и заводить новых друзей на родном языке. Другие функции включают чаты и личные сообщения, позволяющие пользователям обмениваться видео, шутками, песнями и другим социальным контентом на языковой основе. Ставя целью стать инициатором интернет-революции в Индии, ShareChat меняет то, как следующий миллиард пользователей будет взаимодействовать в Интернете.

Приложение в цифрах

  • Более 100 миллионов загрузок
  • 180+ миллионов активных пользователей в месяц
  • Более 32 миллионов создателей контента
  • 15 разных индийских языков
  • Ежедневно создается около 1,5 миллиона сообщений.

Вызов

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

В результате в приложении увеличилось количество пропущенных или задержанных кадров (также известное как «Jank»). Исправление этих проблем с зависаниями путем улучшения медленных и зависающих кадров имело решающее значение для обеспечения бесперебойной работы всех пользователей. Это также сыграет важную роль в том, чтобы заставить пользователей проводить больше времени в приложении, повысить вовлеченность и, в свою очередь, улучшить рейтинг ShareChat в Android Play Store.

Как они это сделали

ShareChat работал с командой Google по связям с разработчиками, чтобы уменьшить спам и добиться положительного влияния на бизнес за счет улучшения медленных и зависших кадров (Jank) в приложении. В частности, они работали над улучшением следующих проблем:

  • Общий пул RecyclerView . При профилировании было замечено, что создание разных держателей просмотра занимает больше времени, и чтобы свести это к минимуму, был создан общий пул RecyclerView. Это также помогло снизить затраты зрителей на создание подобных каналов.

  • Чрезмерный проход по макету . При профилировании также было замечено, что некоторые владельцы просмотров запрашивали дополнительные requestLayouts. В целях оптимизации код был обновлен, чтобы учитывать время создания, а не каждую привязку, что позволило сэкономить дополнительные затраты на requestLayout.

  • OverDraw — упрощены макеты, чтобы уменьшить количество слоев и удалить цвета, которые устанавливались отдельно для каждого слоя.

  • Сглаживание иерархии . Наблюдалось длительное раздувание посредством профилирования и ручной проверки многих экранов. Для решения этой проблемы иерархия была сглажена с помощью ConstraintLayout .

  • Чрезмерное увеличение просмотров . Во время профилирования обнаружено длительное увеличение времени для определенных просмотров. Эти представления были преобразованы в заглушки.

  • Удаление тяжелых задач из потока пользовательского интерфейса . Использование профилировщика позволило наблюдать за несколькими местами, где в основном потоке выполнялись тяжелые задачи, например создание SpannableStringBuilder с маркировкой и стилем каждой привязки recyclerView, декодирование BlurHash и т. д. Эти задачи были удален из потока пользовательского интерфейса и перемещен в фоновый поток.

  • Миграция с Rx на Coroutine . Потребление памяти также приводило к частым вызовам GC, и в потоке RX было очень большое количество потоков >100. Многие варианты использования были перенесены в Coroutine, чтобы исправить эти проблемы.

  • Использование Coil для загрузки изображений . Glide вызывал проблемы при загрузке изображений, особенно в компонентах, созданных с помощью Jetpack Compose. Также было обнаружено, что при загрузке изображений в LazyColumn полоса порога рендеринга была высокой. Эти случаи привели к использованию Coil для загрузки изображений.

  • Очистка и рефакторинг старого кода . Удаление старого кода и эксперименты помогли удалить ненужные скрытые представления из пользовательского интерфейса и помогли лучше переписать некоторые экраны.

Результаты

Анализируя области улучшения и определяя стратегии оптимизации, ShareChat может улучшить общее впечатление для пользователей, одновременно повышая уровень вовлеченности и рейтинги в Play Store. Ниже представлен количественный обзор результатов, достигнутых ShareChat:

  • Примерно на 45 % уменьшено количество кадров с медленной визуализацией в магазине Play Store.
  • Примерно на 30 % меньше «замороженных» кадров в Play Store.
  • Частота кадров для каждых 10 тысяч отрисованных кадров уменьшена с 10,72% до 3,98%.
  • Прокрутка ленты увеличена на 60 %.
  • Общий рейтинг в Магазине увеличился с ~4,0 до 4,3.
  • 10% увеличение потребления постов

«В ShareChat наша цель — стать лучшим приложением для социальных сетей, которое доставляет удовольствие нашим пользователям. Это также означает, что мы должны быть лучшими с точки зрения производительности приложения. Наше сотрудничество с командой Google по связям с разработчиками помогло нам определить области улучшения на наших наиболее часто используемых недорогих пользовательских устройствах. Мы изучили лучшие методы повышения производительности и инструменты для выявления и устранения зависших кадров, зависаний, перерисовки и ошибок ANR».

– Вихан Верма, технический менеджер группы Android в ShareChat

,

Введение

ShareChat — ведущая платформа социальных сетей в Индии, которая позволяет пользователям делиться своим мнением, документировать свою жизнь и заводить новых друзей на родном языке. Другие функции включают чаты и личные сообщения, позволяющие пользователям обмениваться видео, шутками, песнями и другим социальным контентом на языковой основе. Ставя целью стать инициатором интернет-революции в Индии, ShareChat меняет то, как следующий миллиард пользователей будет взаимодействовать в Интернете.

Приложение в цифрах

  • Более 100 миллионов загрузок
  • 180+ миллионов активных пользователей в месяц
  • Более 32 миллионов создателей контента
  • 15 разных индийских языков
  • Ежедневно создается около 1,5 миллиона сообщений.

Вызов

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

В результате в приложении увеличилось количество пропущенных или задержанных кадров (также известное как «Jank»). Исправление этих проблем с зависаниями путем улучшения медленных и зависающих кадров имело решающее значение для обеспечения бесперебойной работы всех пользователей. Это также сыграет важную роль в том, чтобы заставить пользователей проводить больше времени в приложении, повысить вовлеченность и, в свою очередь, улучшить рейтинг ShareChat в Android Play Store.

Как они это сделали

ShareChat работал с командой Google по связям с разработчиками, чтобы уменьшить спам и добиться положительного влияния на бизнес за счет улучшения медленных и зависших кадров (Jank) в приложении. В частности, они работали над улучшением следующих проблем:

  • Общий пул RecyclerView . При профилировании было замечено, что создание разных держателей просмотра занимает больше времени, и чтобы свести это к минимуму, был создан общий пул RecyclerView. Это также помогло снизить затраты зрителей на создание подобных каналов.

  • Чрезмерный проход по макету . При профилировании также было замечено, что некоторые владельцы просмотров запрашивали дополнительные requestLayouts. В целях оптимизации код был обновлен, чтобы учитывать время создания, а не каждую привязку, что позволило сэкономить дополнительные затраты на requestLayout.

  • OverDraw — упрощены макеты, чтобы уменьшить количество слоев и удалить цвета, которые устанавливались отдельно для каждого слоя.

  • Сглаживание иерархии . Наблюдалось длительное раздувание посредством профилирования и ручной проверки многих экранов. Для решения этой проблемы иерархия была сглажена с помощью ConstraintLayout .

  • Чрезмерное увеличение просмотров . Во время профилирования обнаружено длительное увеличение времени для определенных просмотров. Эти представления были преобразованы в заглушки.

  • Удаление тяжелых задач из потока пользовательского интерфейса . Использование профилировщика позволило наблюдать за несколькими местами, где в основном потоке выполнялись тяжелые задачи, например создание SpannableStringBuilder с маркировкой и стилем каждой привязки recyclerView, декодирование BlurHash и т. д. Эти задачи были удален из потока пользовательского интерфейса и перемещен в фоновый поток.

  • Миграция с Rx на Coroutine . Потребление памяти также приводило к частым вызовам GC, и в потоке RX было очень большое количество потоков >100. Многие варианты использования были перенесены в Coroutine, чтобы исправить эти проблемы.

  • Использование Coil для загрузки изображений . Glide вызывал проблемы при загрузке изображений, особенно в компонентах, созданных с помощью Jetpack Compose. Также было обнаружено, что при загрузке изображений в LazyColumn полоса порога рендеринга была высокой. Эти случаи привели к использованию Coil для загрузки изображений.

  • Очистка и рефакторинг старого кода . Удаление старого кода и эксперименты помогли удалить ненужные скрытые представления из пользовательского интерфейса и помогли лучше переписать некоторые экраны.

Результаты

Анализируя области улучшения и определяя стратегии оптимизации, ShareChat может улучшить общее впечатление для пользователей, одновременно повышая уровень вовлеченности и рейтинги в Play Store. Ниже представлен количественный обзор результатов, достигнутых ShareChat:

  • Примерно на 45 % уменьшено количество кадров с медленной визуализацией в магазине Play Store.
  • Примерно на 30 % меньше «замороженных» кадров в Play Store.
  • Частота кадров для каждых 10 тысяч отрисованных кадров уменьшена с 10,72% до 3,98%.
  • Прокрутка ленты увеличена на 60 %.
  • Общий рейтинг в Магазине увеличился с ~4,0 до 4,3.
  • 10% увеличение потребления постов

«В ShareChat наша цель — стать лучшим приложением для социальных сетей, которое доставляет удовольствие нашим пользователям. Это также означает, что мы должны быть лучшими с точки зрения производительности приложения. Наше сотрудничество с командой Google по связям с разработчиками помогло нам определить области улучшения на наших наиболее часто используемых недорогих пользовательских устройствах. Мы изучили лучшие методы повышения производительности и инструменты для выявления и устранения зависших кадров, зависаний, перерисовки и ошибок ANR».

– Вихан Верма, технический менеджер, команда Android в ShareChat

,

Введение

ShareChat — ведущая платформа социальных сетей в Индии, которая позволяет пользователям делиться своим мнением, документировать свою жизнь и заводить новых друзей на родном языке. Другие функции включают чаты и личные сообщения, позволяющие пользователям обмениваться видео, шутками, песнями и другим социальным контентом на языковой основе. Ставя целью стать инициатором интернет-революции в Индии, ShareChat меняет то, как следующий миллиард пользователей будет взаимодействовать в Интернете.

Приложение в цифрах

  • Более 100 миллионов загрузок
  • 180+ миллионов активных пользователей в месяц
  • Более 32 миллионов создателей контента
  • 15 разных индийских языков
  • Ежедневно создается около 1,5 миллиона сообщений.

Вызов

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

В результате в приложении увеличилось количество пропущенных или задержанных кадров (также известное как «Jank»). Исправление этих проблем с зависаниями путем улучшения медленных и зависающих кадров имело решающее значение для обеспечения бесперебойной работы всех пользователей. Это также сыграет важную роль в том, чтобы заставить пользователей проводить больше времени в приложении, повысить вовлеченность и, в свою очередь, улучшить рейтинг ShareChat в Android Play Store.

Как они это сделали

ShareChat работал с командой Google по связям с разработчиками, чтобы уменьшить спам и добиться положительного влияния на бизнес за счет улучшения медленных и зависших кадров (Jank) в приложении. В частности, они работали над улучшением следующих проблем:

  • Общий пул RecyclerView . При профилировании было замечено, что создание разных держателей просмотра занимает больше времени, и чтобы свести это к минимуму, был создан общий пул RecyclerView. Это также помогло снизить затраты зрителей на создание аналогичных каналов.

  • Чрезмерный проход по макету . При профилировании также было замечено, что некоторые владельцы просмотров запрашивали дополнительные requestLayouts. В целях оптимизации код был обновлен, чтобы учитывать время создания, а не каждую привязку, что позволило сэкономить дополнительные затраты на requestLayout.

  • OverDraw — упрощены макеты, чтобы уменьшить количество слоев и удалить цвета, которые устанавливались отдельно для каждого слоя.

  • Сглаживание иерархии . Наблюдалось длительное раздувание посредством профилирования и ручной проверки многих экранов. Для решения этой проблемы иерархия была сглажена с помощью ConstraintLayout .

  • Чрезмерное увеличение просмотров . Во время профилирования обнаружено длительное увеличение времени для определенных просмотров. Эти представления были преобразованы в заглушки.

  • Удаление тяжелых задач из потока пользовательского интерфейса . Использование профилировщика позволило наблюдать за несколькими местами, где в основном потоке выполнялись тяжелые задачи, например создание SpannableStringBuilder с маркировкой и стилем каждой привязки recyclerView, декодирование BlurHash и т. д. Эти задачи были удален из потока пользовательского интерфейса и перемещен в фоновый поток.

  • Миграция с Rx на Coroutine . Потребление памяти также приводило к частым вызовам GC, и в потоке RX было очень большое количество потоков >100. Многие варианты использования были перенесены в Coroutine, чтобы исправить эти проблемы.

  • Использование Coil для загрузки изображений . Glide вызывал проблемы при загрузке изображений, особенно в компонентах, созданных с помощью Jetpack Compose. Также было обнаружено, что при загрузке изображений в LazyColumn полоса порога рендеринга была высокой. Эти случаи привели к использованию Coil для загрузки изображений.

  • Очистка и рефакторинг старого кода . Удаление старого кода и эксперименты помогли удалить ненужные скрытые представления из пользовательского интерфейса и помогли лучше переписать некоторые экраны.

Результаты

Анализируя области улучшения и определяя стратегии оптимизации, ShareChat может улучшить общее впечатление для пользователей, одновременно повышая уровень вовлеченности и рейтинги в Play Store. Ниже представлен количественный обзор результатов, достигнутых ShareChat:

  • Примерно на 45 % уменьшено количество кадров с медленной визуализацией в магазине Play Store.
  • Примерно на 30 % меньше «замороженных» кадров в Play Store.
  • Частота кадров для каждых 10 тысяч отрисованных кадров уменьшена с 10,72% до 3,98%.
  • Прокрутка ленты увеличена на 60 %.
  • Общий рейтинг в Магазине увеличился с ~4,0 до 4,3.
  • 10% увеличение потребления постов

«В ShareChat наша цель — стать лучшим приложением для социальных сетей, которое доставляет удовольствие нашим пользователям. Это также означает, что мы должны быть лучшими с точки зрения производительности приложения. Наше сотрудничество с командой Google по связям с разработчиками помогло нам определить области улучшения на наших наиболее часто используемых недорогих пользовательских устройствах. Мы изучили лучшие методы повышения производительности и инструменты для выявления и устранения зависших кадров, зависаний, перерисовки и ошибок ANR».

– Вихан Верма, технический менеджер группы Android в ShareChat