Fragmento y ciclo de vida de la actividad de los padres juntos
Seguí estos cuatro temas Creación de un fragmento , manejo del ciclo de vida del fragmento , administración del ciclo de vida de la actividad, pausa y reanudación de una actividad . Así que tengo una pequeña duda sobre esto. Mi pregunta es
- Si una
Activity
llama a laActivity
B medianteIntent
pero A no llama al métodofinish()
entonces A estará en el estado dePause
si B esTransparent
oSemiTransparent
y en el estadoStop
si B esOpaque
. ¿Estoy bien? - Si una
Activity
contiene elFragment
F, entonces si A irá al estado dePause
, entonces F pasará al estado dePause
y si A estará en estado deStop
, entonces F también estará en estado deStop
. ¿Estoy bien? - Si A llama B
Activity
y B esTransparent
entonces A estará en estadoPause
y F también. Si B callfinish()
entonces A llegará al estadoResume
pero ¿qué pasará con F? ¿Vendrá a reanudar desde la pausa? Si es entonces cómo y qué pasos porque no he visto ningún enlace directo en el ciclo de vidaFragment
que indicaonPause()
toonResume()
directamente como Actividad puede hacer.
Espero poder preguntar lo que quiero. Lo siento por mi mala Englsh.
- ¿Cómo puedo mantener el estado de fragmento cuando se agrega a la pila trasera?
- Congelación de la interfaz de usuario cuando la transacción de fragmentos
- ¿Cómo debo seguir los fragmentos en Google Analytics v4?
- Animación de volteo de Android entre fragmentos con el archivo jar de v4 admitido
- ObjectAnimator onAnimationEnd se escucha antes de que termine la animación
- Patrón de diseño para fragmentos en android
- Espere con la operación hasta que se creen Vistas de fragmentos
- ¿Es posible hacer esta animación de pantalla Android con un ViewPager?
-
Usted no puede estar seguro de que sólo onPause será llamado en A si B es SemiTransparent o parcialmente visible según lo entiendo:
En pausa
Otra actividad está en primer plano y tiene foco, pero ésta sigue siendo visible. Es decir, otra actividad es visible encima de ésta y esa actividad es parcialmente transparente o no cubre toda la pantalla. Una actividad en pausa está completamente activa (el objeto Activity se conserva en la memoria, mantiene toda la información de estado y miembro y permanece conectado al administrador de ventanas), pero puede ser eliminado por el sistema en situaciones de memoria extremadamente baja.
-
Sí, tiene usted razón:
El ciclo de vida de la actividad en la que vive el fragmento directamente afecta al ciclo de vida del fragmento, de tal manera que cada devolución de llamada del ciclo de vida de la actividad da lugar a una devolución de llamada similar para cada fragmento. Por ejemplo, cuando la actividad recibe onPause (), cada fragmento de la actividad recibe onPause ().
Sin embargo, lo contrario no es cierto, lo que significa que si un fragmento recibe onStop, eso no garantiza que OnStop de la actividad se llamará.
-
No estoy muy seguro de lo que quiere decir con su última frase o cómo ha probado esto. De acuerdo con la documentación del Fragmento:
Public void onResume ()
Se llama cuando el fragmento es visible para el usuario y se está ejecutando activamente. Esto está generalmente vinculado a Activity.onResume del ciclo de vida de Activity que contiene
Dice generalmente porque depende de cómo el fragmento es manejado por la actividad.
-
Si una Actividad llama a la Actividad B mediante Intención pero A no llama al método finish () entonces A estará en el estado de Pausa si B es Transparente o SemiTransparente y en el estado Parar si B es Opaco. ¿Estoy bien?
si verdad
-
Si una actividad contiene el fragmento F, entonces si A irá al estado de pausa, entonces F pasará al estado de pausa y si A estará en estado de parada, entonces F también estará en estado de parada. ¿Estoy bien?
sí correcto
-
Si A llama B Actividad y B es Transparente entonces A estará en estado Pausa y F también. Si B call finish () entonces A llegará al estado Resume pero ¿qué pasará con F? ¿Vendrá a reanudar desde la pausa? Si es entonces cómo y qué pasos porque no he visto ningún enlace directo en el ciclo de vida Fragmento que indica onPause () to onResume () directamente como Actividad puede hacer.
Lo que entendió es correcto, incluso en este escenario también el fragmento se moverá de onPause a onResume estado como una actividad. Pero lamentablemente no hay mucha documentación sobre esto en el desarrollador android. Esto podría ser porque querían evitar diagramas complicados que pueden crear más confusión.