He estado tratando de hacer una aplicación desplazable/con zoom y todo ha ido bien, excepto para dibujar mapas de bits. Es una imagen muy grande (6656 por 4096) que he dividido en mosaicos. Hay una matriz de rectángulo que atrae a los mapas de bits, y detecta qué rectángulo está en la esquina superior izquierda para que pueda dibujar los mapas de bits que cubrirán la pantalla visible del usuario. Mi problema es que todo esto se rezaga cuando la aplicación tiene que cargar los mapas de bits en la memoria; Una vez que se cargan, no es un problema. Comencé con 512 por 512 fichas, luego bajé a 128 por 128. Aunque me ayudó, todavía hay un retraso notable. He estado buscando en SurfaceView y quería sus opiniones si debería seguir con View, o usar SurfaceView para resolver mi retraso.android view o surfaceView, ¿qué debo usar?
7
A
Respuesta
9
Si obtiene su propio SurfaceView tiene varias ventajas.
Principalmente porque puede tener toda la lógica de dibujo en un hilo separado. Esto significa que la interfaz de usuario no lo esperará (supongo que el retraso se debe a que se está bloqueando el hilo de la interfaz de usuario).
Las SurfaceView también son más rápidas por naturaleza.
También encontré this descripción en developer.android.com para ser una buena referencia para elegir el método de dibujo.
Cuestiones relacionadas
- 1. ¿Diferencia entre SurfaceView y View?
- 2. SurfaceView vs Custom View (extendido desde la vista). SurfaceView es más lento, ¿por qué?
- 3. ¿Qué debo usar ImageButton o Button?
- 4. Tabla o lista: ¿qué debo usar aquí?
- 5. ¿Qué debo usar, CodeContract o CuttingEdge.Conditions?
- 6. ¿Qué debo usar un IEnumerable o IList?
- 7. OAuth/OpenID: ¿qué debo usar?
- 8. Android ANR SurfaceView
- 9. Android: ¿Qué formato de imagen debo usar y por qué?
- 10. Android SurfaceView desplazamiento
- 11. ¿Qué metainformaciones debo usar?
- 12. ¿Debo usar Phobos o Tango?
- 13. Debo usar DataInputStream o BufferedInputStream
- 14. ¿Debo usar Flash o Flex?
- 15. ¿Debo usar horquilla o hilos?
- 16. ¿Debo usar alias o alias_method?
- 17. ¿Usar SQL View o SQL Query?
- 18. ¿Debo usar em o px?
- 19. ¿Qué DB debo usar?
- 20. Android: SlidingDrawer desaparece de SurfaceView
- 21. independencia Resolución en Android SurfaceView
- 22. Long Touch en un surfaceView (android)
- 23. cámara Tutorial para Android (usando SurfaceView)
- 24. ¿Debo usar multiplicación o división?
- 25. ¿Debo usar herencia o composición?
- 26. ¿Debo usar eval() o call_user_func()?
- 27. ¿Debo usar byte o int?
- 28. ¿Debo usar CouchDB o SimpleDB?
- 29. ¿Debo usar Pilones o Pirámide?
- 30. ¿Debo usar int o UInt16?
SurfaceView resultó ser mucho más rápido y más adecuado, gracias. – jfisk