Ayúdame a optimizar esta animación gráfica

Necesito ayuda con esta animación simple en mi teléfono Android. Soy un novato con animación y gráficos.

Estoy graficando los datos del acelerómetro como una ventana deslizante de series temporales. A medida que se leen los nuevos datos del acelerómetro, sus datos se representan a la derecha, empujando los datos anteriores a la izquierda, como se muestra a continuación:

Introduzca aquí la descripción de la imagen

Mi programa se ejecuta bastante bien, pero me gustaría alguna ayuda para optimizar la animación. Estas son mis principales preocupaciones:

  1. Mi implementación actual lee todos los datos del acelerómetro en un hilo y mantiene los datos en una cola FIFO de tamaño fijo para capturar el ancho de la ventana de series temporales. A continuación, utilizar Timer.scheduleAtFixedRate () para trazar todo el contenido de la cola para que el gráfico completo se vuelva a dibujar cada 50 milisegundos. ¿Puedo mejorar esto? ¿Realmente necesito volver a dibujar el gráfico tan a menudo como este? En otro programa similar que he visto, cada columna de píxeles se copia a un píxel a la izquierda, ondulando el gráfico; La columna de los datos más nuevos se dibuja en la columna de píxeles de la extrema derecha. ¿Es esto mejor?

  2. Volver a dibujar la leyenda (en la parte superior izquierda) en el hilo de dibujo que ejecuta la función de dibujo cada 50 milisegundos. ¿Hay alguna manera de "mantener" esa leyenda en su lugar en lugar de tener que volver a dibujarla constantemente?

Cualquier otra ayuda sería apreciada. He oído hablar de optimizaciones como doble buffer pero no tengo ni idea si eso me ayudaría.

Si la leyenda y los cabellos cruzados sólo necesitan ser dibujados una vez, entonces debe colocarlo en un mapa de bits de memoria intermedia. Para su línea de gráfico, puede intentar usar el objeto Path para trazar las líneas. Cuando llegue el momento de dibujar las líneas sólo drawLine al punto apropiado y luego traducir el lienzo adecuadamente. Si

  • Deshabilitar animaciones para pruebas en servicios en la nube (por programa?)
  • CoordinatorLayout + TabView + AnimateView (Desde la parte superior)
  • Posición de intercambio animado de dos botones
  • Vista de la actividad actual de Fade Out
  • Animación de texto de pantalla de personaje de Android por caracteres
  • Android TranslateAnimación en el botón parpadea
  • ¿Alguien ha hecho una "animación de escaneo" básica en una imagen?
  • Tener problemas para animar el diseño de vista de lista
  • ¿Cómo animar la disposición de arriba a 300dp de la pantalla viceversa en android?
  • ¿Hay alguna manera de girar un botón sin utilizar animación en android 2.1
  • Haga que la animación de Android sea más suave cuando se muestre el teclado durante la animación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.