Surface Flinger, SurfaceView, Surface, SurfaceHolder y Bitmap es Android
Estoy aprendiendo de la documentación de Suface, Suface Flinger, SurfaceView, SurfaceHolder y Bitmap. He encontrado las siguientes definiciones:
Surface Surface es una colección de píxeles. Una Superficie es un objeto que contiene píxeles que se están componiendo en la pantalla. Cada ventana que ves en la pantalla (un cuadro de diálogo, tu actividad de pantalla completa, la barra de estado) tiene su propia superficie a la que se dirige y Surface Flinger hace que éstos aparezcan en la pantalla final en su orden Z correcto. Normalmente, una superficie tiene más de un búfer (normalmente dos) para hacer un renderizado de doble búfer: la aplicación puede dibujar su siguiente estado UI mientras que el desvío de superficie está componiendo la pantalla usando el último búfer, sin tener que esperar a que la aplicación termine dibujo.
- (Android) ¿Cómo obtengo SmartPhone ScreenWidth y Height?
- Juego de Android con superficial, lienzo - Dibujable o mapa de bits
- La superficie de Android se bloquea cuando se va al fondo
- ¿Cómo puedo establecer el tamaño de vista previa de la cámara a la relación de aspecto cuadrado en un SurfaceView cuadrado (como Instagram)
- Android: Recuperando el enfoque con SurfaceView
SurfaceView Esta clase se utiliza para presentar una vista previa de cámara en vivo al usuario. Un SurfaceView es una implementación especial de View que también crea su propia superficie dedicada para que la aplicación realice directamente (fuera de la jerarquía de vista normal, que de otra forma debe compartir la superficie única para la ventana)
Bitmap Un mapa de bits es un contenedor para la colección de píxeles, es simplemente una matriz de píxeles con algunas otras funciones convenientes.
Canvas Canvas es una clase que contiene todos los métodos de dibujo. Es similar a la clase Graphics en AWT / Swing en Java. Tiene toda la lógica en cómo dibujar, una caja etc. Una lona funciona en un mapa de bits.
Pero no estoy claro sobre SurfaceHolder y SurfaceFlinger y de acuerdo con la definición anterior mapa de bits también es contenedor de píxeles y superficie también.
¿Puedes ayudarme a darme un entendimiento claro de la definición de todos estos objetos?
- Gradiente aparece atado en un SurfaceView, pero se ve muy suave en una vista normal
- Vista superficial + glsurfaceview + framelayout
- ¿Qué diferencias hay entre Surfaceview y TextureView?
- Cómo dibujar una superposición en un SurfaceView utilizado por la cámara en Android?
- Agregar de forma programática SurfaceView a un FrameLayout que está ordenado por Z en ImageView
- Android: ¿Es posible tener dos superficies superpuestas?
- Cómo conciliar la diferencia en la relación de aspecto entre el tamaño de vista previa de la cámara y el tamaño de la imagen
- ERROR: createWindowSurface falló EGL_BAD_ALLOC
Un lienzo es un contexto básico para hacer dibujo con la API de gráficos. Usted puede crear su propia lona que envuelve un mapa de bits para hacer el dibujo fuera de pantalla, y por supuesto el marco de la interfaz de usuario pasará los lienzos a los widgets para que se dibujen en. Todos estos widgets son subclases de View. O, si pueden contener otros widgets, entonces subclase de ViewGroup (que es una subclase de View).
Si desea realizar animaciones de alta velocidad de fotogramas, debe subclase desde SurfaceView (o su subclase GLSurfaceView, si desea hacer renderizado en pantalla de OpenGL-ES). Cada SurfaceView tiene un SurfaceHolder, que tiene métodos lockCanvas que puede llamar en cualquier momento para obtener un Canvas en el que dibujar una visualización actualizada y enviar de nuevo para que el usuario vea inmediatamente a través de unlockCanvasAndPost.
Para obtener más información, consulte Conceptos gráficos 2D y sugerencias de widget personalizadas
- Android onMarkerClick no llama después de que InfoWindow se oculte en GoogleMap Google Maps Android API v2
- Uso de Jmagick en un proyecto de Android