2011-06-27 12 views
19

Acabo de leer un blogpost by Romain Guy sobre cómo acelerar la interfaz de usuario de una aplicación. Básicamente dice que si su aplicación utiliza vistas opacas se puede establecer el fondo a @null en el estilo de sus Activity 's usando:android: windowBackground = "@ null" para mejorar la velocidad de la aplicación

hace este trabajo? Estaba dispuesto a probar esto usando FPS como lo hizo, pero no encontré una manera clara de obtener esa información.

He leído algunos threads diciendo que debe hacerlo usted mismo. Estoy a punto de agregar una vista personalizada que dibuja el FPS en el método onDraw() y llama al invalidate() para recibir llamadas todo el tiempo.

Aunque esto funciona, me gustaría saber si hay una mejor manera de analizar FPS en una aplicación.

+1

Ese blogpost tiene un código fuente de muestras. Marque 'FpsImageView.java'. – jamapag

+7

Analizo un FPS primero en términos del rango de armamento disponible. Los juegos en los que tienes pocas pistolas/cuchillos/lo que sea y sin posibilidad de obtener a otros tienden a envejecer relativamente rápido. Luego, me centro en la facilidad de navegación. ¿Puedo ir de punto a punto sin excesivo tedio? Los HUD configurables son agradables, ya que tiendo a encontrarlos un poco molestos cuando lanzo un asalto total ... Oh, espera. Probablemente signifique "cuadros por segundo", no "tirador en primera persona". Mi error. :-) (y, FWIW, no tengo ni idea de cómo calcularías FPS fuera de un juego o 'Vista' personalizada como describes). – CommonsWare

+0

@jamapag: Gracias por señalar eso. Obtuve mi respuesta de su código. ¿Le gustaría publicar una respuesta al respecto para que pueda darle los puntos de rep? – Macarse

Respuesta

3

Ese blogpost tiene un código fuente de muestras. Compruebe FpsImageView.java.

3

Si la interfaz de usuario de su aplicación está dibujando completamente el contenido de la ventana, siempre debe establecer windowBackground como nulo. Esto evita que el marco llene su ventana con el color de fondo predeterminado, por lo que se necesita un pase menos para representar cada cuadro, lo que significa que puede dedicar su propio tiempo a dibujar ese número de píxeles.

+1

Gracias por la respuesta. En relación con cómo obtener el FPS, estaba pensando en agregar el código de "actividad" de Romain Guy a una clase y hacer que mis "actividades" se extiendan mientras desarrollé para verificar su FPS. ¿Crees que eso es correcto? ¿Tiene sentido? ¡Gracias! – Macarse

0

En algunos casos, he notado que establecer el fondo en nulo provoca fallas UI extrañas, como está escrito en here.

recomendaría probarlo en varios dispositivos y en el emulador antes de decidir tenerlo.

+1

Según he leído, parece que ocurren fallas extrañas solo si tanto listView como la ventana tienen el fondo establecido en @null. Si desea optimizar la aplicación, elija cualquiera de ellos. –

Cuestiones relacionadas