Es importante parar y reiniciar una actividad (stopping and restarting) durante el ciclo de vida de la actividad para asegurar que tus usuarios perciban que la app está siempre viva y no pierde sus progresos. Hay unos cuantos escenarios en los cuales tu actividad se para y se reinicia:
- El usuario abre la pantalla de Apps Recientes y cambia desde tu app a otra app. La actividad en tu app que estaba en primer plano se para. Si el usuario regresa a tu app desde la Pantalla de Inicio presionando sobre el icono en el launcher o desde la pantalla de Apps Recientes, la actividad se reinicia.
- El usuario realiza una acción en tu app que inicia una nueva actividad. La actividad actual se para cuando la segunda actividad se crea. Si el usuario presiona el botón atrás en la segunda actividad, la primera actividad se reinicia.
- El usuario recibe una llamada de teléfono mientras utilizaba tu app en su teléfono.
La clase Activity proporciona dos métodos del ciclo de vida, onStop() y onRestart(), el cual te permite específicamente manipular como tu actividad se para y se reinicia. A diferencia del estado pausada, el cual identifica una obstrucción parcial de la UI, el estado parada garantiza que la UI no se encuentra visible y la atención del usuario está en una actividad diferente (o incluso en otra se ha desplazado a otra app).
Nota: Ya que el sistema retiene tu instancia de Activity en la memoria del sistema cuando se para, es posible que no necesites implementar el método onStop() y onRestart() (o incluso onStart()). Para la mayoría de las actividades que son relativamente simples, la actividad se parará y se reiniciará perfectamente por si solas así que es probable que únicamente necesites implementar el método onPause() para pausar las acciones en marcha y desconectar la actividad de los recursos del sistema.