Ok, he creado un Fragment
con un poco de interfaz de usuario (par de cuadros de texto y otras cosas) y me utiliza setRetainInstance
desde Im ejecutando un AsyncTask
para consultar un servidor (solicitud sólo puede enviarse una vez) y necesito el resultado del AsyncTask
. Entonces mi pregunta es: ¿Es incorrecto retener todo el fragmento con la UI? Vi par de ejemplos donde la gente utiliza un extra Fragment
utilizar el setRetainInstance
pero .. ¿hay algo malo no usar que una extra ?? Si hay un problema con el uso del setRetainInstance
¿por qué? No se pudo encontrar ninguna información en la documentación con respecto a esto.fragmento setRetainInstance con la interfaz de usuario de Android
Respuesta
Si el bloqueo de la orientación a continuación, que debe estar bien. De lo contrario, puede terminar con fugas de memoria si retiene los widgets que están asociados con una instancia de actividad particular.
Incluso si utiliza setRetainInstance(true)
, su Fragmento seguirá siendo recrear sus puntos de vista cuando se gira (que recibirá una llamada a onDestroyView
y luego onCreateView
). Siempre que no guarde referencias a vistas más allá del onDestroyView
, no habrá filtraciones de la Actividad anterior. El mejor enfoque sería nulo de forma explícita las referencias en onDestroyView
, pero su código en onCreateView
sería en general sobrescribir esas referencias de todos modos.
Hay muchos ejemplos en línea (entre ellos algunos oficiales) donde la gente utiliza un fragmento separado (sin vistas) para conservar los datos. Suponiendo que lo que dije arriba es correcto, entonces esto es innecesario (por el bien de prevenir fugas). En muchos casos, puede terminar con un código/arquitectura más limpio si utiliza un fragmento separado cuya responsabilidad es solo manejar los datos y no preocuparse por la IU.
Puede comprobar para ver si se filtra la contextos de actividad después de girar por using Eclipse MAT.
- 1. alternativa a la interfaz de usuario: fragmento de JSF
- 2. Conocimiento adicional de setRetainInstance (verdadero)
- 3. ejemplos de interfaz de usuario de Android
- 4. Interfaz de usuario de calendario en Android
- 5. ¿Forma fácil de construir la interfaz de usuario de Android?
- 6. Inspeccionar los elementos de la interfaz de usuario en Android
- 7. ¿Cuál es el caso de uso para un fragmento sin interfaz de usuario?
- 8. Fragmento de Android onCreateView con gestos
- 9. Diseño de interfaz de usuario con GWT
- 10. problema con el diseño de la interfaz de usuario TabHost
- 11. Interface Builder (Diseñador de interfaz de usuario) para Android
- 12. Libros sobre el diseño de interfaz de usuario de Android
- 13. SSRS con interfaz de usuario web personalizada
- 14. Encapsulando componentes de la interfaz de usuario con jQuery
- 15. Pautas de la interfaz de usuario con pantalla táctil WPF
- 16. Cómo actualizar la interfaz de usuario de ViewModel con ObservableCollection?
- 17. Android ProgressBar interfaz de usuario de diseño personalizado
- 18. Android - Pantalla de fragmento girar
- 19. Tema de interfaz de usuario dinámica
- 20. IISExpress interfaz de usuario
- 21. Actividad de Android sin interfaz gráfica de usuario
- 22. checkValidity para actualizar la interfaz de usuario
- 23. Android tarea asincrónica ralentizando mi interfaz de usuario Subproceso
- 24. SOLID y la interfaz de usuario?
- 25. Android - Establecer fragmento de identificación
- 26. Doble fragmento que rota Android con ActionBar
- 27. Android llegar Fragmento anchura
- 28. Prueba de interfaz de usuario
- 29. Implementación de la navegación "Drilldown" en la interfaz de usuario de la aplicación Android
- 30. Personalice la interfaz de usuario Mylyn Context?
pero enviaban los widgets de asociados con el fragmento? tal vez no entiendo cómo funcionan los Fragmentos. – Raykud
Incluso si la orientación está bloqueada, esto podría ser problemático. Android vuelve a crear la vista para cualquier cambio de configuración. Mientras que un cambio de configuración podría ser una rotación de pantalla (el caso habitual), cambio de idioma, conexión/desconexión del teclado y otros. Cuidar la rotación de la pantalla no resuelve todo el problema. – sstn