Publicado por el equipo de relaciones con desarrolladores de Android
TL; DR
golpe de tic sirve a una amplia gama de grupos de usuarios. Con usuarios de todo el mundo, es inevitable que algunos de ellos experimenten problemas de red, como una conectividad lenta, intermitente o costosa. Otros usuarios utilizan dispositivos básicos con memoria y almacenamiento limitados. Garantizar una excelente experiencia de aplicación en todos estos escenarios es fundamental. El equipo de TikTok pudo mejorar significativamente su rendimiento general después del de Android guía de rendimientoy utilizando su profundo conocimiento de las herramientas de desarrollo como Complemento Gradle de Android Y Bibliotecas Jetpack. Si quieres saber cómo el equipo de TikTok ha mejorado su experiencia con la aplicación para un mejor rendimiento comercial, lee nuestro artículo comercial aquí.
Introducción
golpe de tic es una de las plataformas de entretenimiento impulsadas por la comunidad más populares con mil millones de personas en todo el mundo que publican y buscan contenido de video todos los días.
Una base de usuarios diversa naturalmente significa diferentes condiciones de ancho de banda de red y dispositivos con diferentes tamaños de pantalla, memoria disponible y potencia de procesamiento. Todos los usuarios quieren una experiencia de aplicación fluida y receptiva, independientemente del dispositivo que utilicen. Si la aplicación tarda en cargarse o la reproducción se congela, los usuarios se frustrarán y pueden abandonar la aplicación por completo. Para evitar problemas como estos, el equipo de TikTok monitorea continuamente el rendimiento general de la aplicación a través del monitoreo continuo de datos, la evaluación comparativa entre pares y las encuestas de usuarios.
TikTok presenta constantemente nuevas funciones. Pero un rápido aumento de la funcionalidad a veces conduce a un aumento de los requisitos técnicos. El equipo de ingeniería identificó tres razones que ralentizaban la aplicación: cuadros irregulares, retraso en la reproducción de video y problemas de red. Para abordar estos problemas, el equipo de TikTok usó herramientas de Android para comenzar el viaje de mejora de la aplicación.
Del descubrimiento a la solución
Los tiempos de lanzamiento de aplicaciones reducidos, una experiencia de usuario más fluida con bloqueos reducidos y una mejor experiencia de reproducción de video fueron los tres objetivos principales que el equipo priorizó. También discutieron cómo medir los efectos de la optimización del rendimiento para evitar que ocurra una regresión.
1. Inicio más rápido: marco de inicio de refactorización
Hora de inicio de la aplicación es una de las métricas en vitali android. Asegúrese de que el tiempo de inicio de la aplicación no sea más largo que el de Android Vital recomendación es la mejor manera de garantizar que la aplicación se cargue y comience a responder a la actividad del usuario lo más rápido posible. los Iniciar la aplicación library es una biblioteca de Android Jetpack para ayudar a los desarrolladores a inicializar los componentes de la aplicación de manera fácil y eficiente.
El equipo investigó minuciosamente la biblioteca de lanzamiento de la aplicación y refactorizó el marco de lanzamiento de la aplicación para lograr una carga según demanda y una planificación meticulosa de los componentes. Con el fin de reducir aún más el tiempo de ejecución de la creación Puntos de vista en el subproceso principal, el equipo incluso usó un subproceso en segundo plano para cargar los componentes de View de forma asincrónica, mejorando así la velocidad de inicio general de la aplicación.
Tik Tok usado SimplePerf para analizar el tiempo de ejecución del código e Perfilador de Android Studio para monitorear el uso de recursos como memoria, CPU y red para optimizar E/S, subprocesos y bloqueos de recursos.
2. Interfaz de usuario más fluida
Para garantizar una interfaz de usuario más fluida, el equipo enfrentó dos desafíos: 1) simplificar la jerarquía de visualización, de modo que la aplicación solo muestre lo que se necesita en la pantalla, y 2) reducir la cantidad de tareas que se ejecutan en cada marco para que la aplicación puede tener una velocidad de fotogramas constante.
El equipo de TikTok usó el inspector de diseño en Estudio Android para localizar contenidos de diseño innecesarios. Los límites de diseño de cada vista son claramente visibles en el inspector, por lo que el equipo puede simplificar fácilmente la jerarquía de las vistas de la interfaz y reducir el dibujo de contenido excesivo e innecesario.
En muchos casos se utilizó TikTok doFrame () para realizar tareas cuadro por cuadro. Tratar de poner demasiado trabajo en un solo cuadro inevitablemente causará un jak. El enfoque de TikTok fue usar algoritmos de asignación para distribuir tareas en diferentes cuadros para garantizar que la aplicación tuviera una velocidad de cuadro constante.
3. Mejor experiencia de reproducción de video: reutilice los activos
Los usuarios de TikTok pueden crear contenido de audio y video de varias maneras y se utilizan diferentes códecs para reproducir diferentes tipos de contenido. Android proporciona la MediaCodec class para ayudar a acceder al códec subyacente. Para mejorar aún más la velocidad de reproducción de video, es una buena práctica proporcionar varias instancias del reproductor multimedia para diferentes códecs. El equipo de TikTok creó un grupo de instancias de reproductores de medios en toda la aplicación para entregar de manera ordenada varios contenidos de medios. Incluso ejecutan cada instancia del reproductor multimedia en diferentes subprocesos para minimizar la interferencia entre ellos.
La velocidad de la conexión de red es otro factor que contribuye al retraso del video. El equipo probó varias soluciones, incluida la optimización de conexiones y la reutilización de sockets, y desarrolló algoritmos para ajustar dinámicamente la longitud del búfer al transmitir contenido para reducir el retraso durante la reproducción.
También utilizaron la resolución de súper video en el dispositivo para generar cuadros de alta resolución basados en contenido de video de baja resolución, mejorando aún más la calidad de la reproducción de video sin aumentar la presión de la red.
La precarga (cargar el siguiente video antes de tiempo) y la prerenderización (renderizar el primer cuadro del video antes de tiempo) son componentes clave para garantizar que los usuarios tengan una experiencia fluida al reproducir varios videos en sucesión. TikTok ha diseñado un Superficie de antemano agregándolo a la pantalla solo cuando realmente se necesita, para reducir la presión de colocarlo en su lugar.
4. Evita las regresiones
El equipo continúa manteniendo una comprensión detallada del rendimiento y trabaja para ajustar los elementos cuando es necesario. Afortunadamente, Android tiene herramientas para este propósito exacto, como Systrace a capturar pistas para que los desarrolladores puedan exportar tareas del sistema (incluida la programación de CPU, tareas de disco y subprocesos de aplicaciones) para un análisis detallado. El equipo también depende en gran medida de herramientas como Perfecto y estudio de Android Analizador de CPU para rastrear el tiempo de ejecución de varios eventos, especialmente para E / S y carga de clases.
Mejor rendimiento, mejor experiencia
TikTok ha aprovechado de manera creativa la cadena de herramientas de Android para rastrear, cuantificar y optimizar el rendimiento de su aplicación en función de las prioridades comerciales, lo que resultó en una mejor experiencia del usuario y una mayor satisfacción del usuario.
El tiempo de inicio de la aplicación se ha reducido en un 45 % y la fluidez (la posibilidad de que la velocidad de fotogramas sea inferior al valor objetivo) se ha optimizado en un 49 %. Al reproducir un video, el primer cuadro del video apareció un 41 % más rápido y la probabilidad de retraso del video se redujo en un 27 %.
Los usuarios ahora están más dispuestos a usar TikTok: los días activos por usuario en 30 días han aumentado en un 1% al igual que la duración promedio de la sesión. Las encuestas de usuarios y la calificación de TikTok en Google Play también muestran un aumento significativo en la satisfacción del usuario.
La próxima etapa de TikTok
Al optimizar constantemente el rendimiento de la aplicación y adaptarse a la última plataforma Android 13, TikTok ha creado una experiencia de aplicación más fluida, alentando a más usuarios a descubrir, crear y compartir el contenido que aman.
Con más de 250 millones de dispositivos Android de pantalla grande activos en todo el mundo, el equipo también se centró en los dispositivos de pantalla grande, incluidos los dispositivos plegables. De adopción de la aplicación en pantallas grandesel equipo ofreció una experiencia más atractiva a los usuarios de TikTok.
Para obtener más información sobre cómo TikTok ha optimizado su aplicación de Android para mejorar la experiencia del usuario y el rendimiento comercial, lea el artículo aquí.
Obtenga información sobre el rendimiento
Para obtener información sobre cómo comenzar a inspeccionar, mejorar y monitorear el rendimiento de su aplicación, visite el nuestro guía para desarrolladores. La forma más rápida de mejorar la velocidad de inicio de su aplicación es agregar un perfil base en tu próxima salida.