Estoy trabajando en una aplicación de procesamiento de video multimedia para Android, y me he encontrado con un pequeño problema. Estoy usando la clase FragmentPagerAdapter
con una serie de fragmentos diferentes en el interior para varios pasos de procesamiento de video.Android SurfaceView provoca parpadeo de pantalla
Mi primer Fragment
contiene un y un SurfaceView
que lo alimenta, junto con varios controles de reproducción. Mi problema ocurre cuando deslizo desde el fragmento 1 (con SurfaceView) al fragmento 2 (vacío en este momento). Si aún no he llamado al start()
, no ocurre nada inusual, y puedo deslizar normalmente entre fragmentos. Una vez que llamo al start()
, toda la pantalla comienza a parpadear intermitentemente cuando paso al siguiente Fragment
, incluso si puse el MediaPlayer
en el estado inactivo y no está alimentando cuadros al SurfaceView
. Lo único que detiene esto es destruir la superficie junto con la vista contenedora al deslizar al tercero Fragment
para que FragmentPagerAdapter
destruya Fragment
o salir de la aplicación a través del botón de inicio o posterior para que la vista se destruya.
No puedo entender por qué sucede esto, aparte de que quizás el hilo de representación SurfaceView
de alguna manera está interfiriendo con el hilo principal de la interfaz de usuario. Nada inusual aparece en LogCat, así que estoy un poco atascado. Estoy ejecutando un Galaxy Nexus con Android 4.1 como mi hardware de prueba.
¡Cualquier ayuda sería apreciada!
JT
ACTUALIZACIÓN: he logrado encontrar una solución por ahora reemplazando el método setPrimaryItem()
en el FragmentPagerAdapter
llamar a un método que elimina la SurfaceView
de la jerarquía (usando removeView()
en su recipiente LinearLayout
) cuando el reproductor de video Fragment
deja de mostrarse, y luego restablece el SurfaceView
cuando está activo de nuevo. Todavía hay un pequeño parpadeo cuando esto sucede, desafortunadamente, así que si alguien tiene pensamientos adicionales, ¡estaría agradecido!
marque esta respuesta. su problema es similar a esto: [Enlace] (http://stackoverflow.com/questions/8772862/surfaceview-flashes-black-on-load) – RATHI