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:
- Deslizar a otra vista en recyclerVer con ItemTouchHelper
- Cajón de navegación Animación android
- Cambiar el tamaño de los diseños de forma programática (como animación)
- Botón android no se puede hacer clic mientras se reproducen animaciones
- Información sobre la clase Movie para Android
Mi programa se ejecuta bastante bien, pero me gustaría alguna ayuda para optimizar la animación. Estas son mis principales preocupaciones:
-
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?
-
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.
- ValueAnimator sólo se repite una vez
- ¿Cómo varía el tamaño de la instalación de la aplicación en el teléfono?
- WindowManager con animación (¿es posible?)
- La rotación de vista de Android no ocurre después de algunas llamadas de setAnimation
- Java.lang.OutOfMemoryError en android.graphics.BitmapFactory.nativeDecodeAsset (Método nativo)
- Animar el cambio de color de fondo de la vista en Android
- FloatingActionButton icono de animación (Android FAB dibujo animación dibujable)
- Desvanecimiento de la animación en forma de degradado de fondo
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
- Conectar a la red wifi de forma programática (primer acceso ssid)?
- Serializar objetos entre Android y PC (Dalvik vs JVM)