¿Cómo terminar todas las actividades anteriores en una aplicación de Android?

Las aplicaciones de Android tienen tantas actividades presentes dentro de ellas para diferentes funcionalidades. Cuando un usuario realiza alguna acción dentro de la aplicación, será navegado de una pantalla a otra. Cuando el usuario navega a la siguiente pantalla, la actividad anterior permanece abierta en la pila. A medida que el usuario abre tantas actividades, el tamaño de la pila de actividades aumenta y esto aumenta el consumo de memoria de la aplicación. Para reducir el consumo de memoria de la aplicación, debemos cerrar todas las actividades anteriores dentro de la aplicación de Android. En este artículo, veremos cómo finalizar todas las actividades anteriores en una aplicación de Android. 

Nota : este artículo de Android cubre los lenguajes Java y Kotlin

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Cómo crear/iniciar un nuevo proyecto en Android Studio

Paso 2: trabajar con el archivo activity_main.xml

Vaya a aplicación > res > diseño > actividad_principal.xml y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle. 

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/idRLContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
  
    <!--on below line we are creating
        a text for our app-->
    <TextView
        android:id="@+id/idTVHeading"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/idBtnOpenActivity2"
        android:layout_centerInParent="true"
        android:layout_margin="20dp"
        android:gravity="center"
        android:padding="10dp"
        android:text="Activity 1"
        android:textAlignment="center"
        android:textColor="@color/black"
        android:textSize="20sp"
        android:textStyle="bold" />
  
    <!--on below line we are creating a button-->
    <Button
        android:id="@+id/idBtnOpenActivity2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="20dp"
        android:text="Go to Activity 2"
        android:textAllCaps="false" />
  
</RelativeLayout>

Paso 3: Creación de una nueva actividad

Vaya a aplicación>java>nombre del paquete de su aplicación>haga clic con el botón derecho en él>Nuevo>Actividad vacía>nómbrelo como>Main2Activity y haga clic en Finalizar para crear una nueva actividad. 

Paso 4: trabajar con el archivo MainActivity 

Vaya a aplicación > java > nombre del paquete de su aplicación > archivo MainActivity y agregue el código a continuación. Se agregan comentarios en el código para conocer en detalle. 

Kotlin

package com.gtappdevelopers.kotlingfgproject
  
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
  
    // on below line we are creating a variable.
    lateinit var openActivity2Btn: Button
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // on below line we are initializing our variables.
        openActivity2Btn = findViewById(R.id.idBtnOpenActivity2)
  
        openActivity2Btn.setOnClickListener {
            // on below line we are opening a new activity
            val intent = Intent(applicationContext, MainActivity2::class.java)
              
            // on below line we are starting a new activity
            startActivity(intent)
              
            // on below line we are finishing MainActivity
            finish()
        }
    }
}

Java

package com.gtappdevelopers.kotlingfgproject;
  
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    // on the below line we are creating a variable.
    private Button openActivity2Btn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // on below line we are initializing variables with ids.
        openActivity2Btn = findViewById(R.id.idBtnOpenActivity2);
  
        // on below line we are adding click listener for our button
        openActivity2Btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // on below line we are opening a new activity
                Intent intent = new Intent(MainActivity.this, MainActivity2.class);
                  
                // on below line we are starting a new activity
                startActivity(intent);
                  
                // on below line we are finishing MainActivity
                finish();
            }
        });
    }
}

Paso 5: trabajar con el archivo activity_main2xml

Vaya a app>res>layout>activity_main2.xml y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle. 

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity2">
  
    <!--on below line we are creating
        a text for our app-->
    <TextView
        android:id="@+id/idTVHeading"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="20dp"
        android:gravity="center"
        android:padding="10dp"
        android:text="Activity 2"
        android:textAlignment="center"
        android:textColor="@color/black"
        android:textSize="20sp"
        android:textStyle="bold" />
  
</RelativeLayout>

Ahora ejecute su aplicación para ver el resultado. 

Producción:

En el siguiente video de salida, cuando hacemos clic en el botón Ir a la actividad 2, el usuario navega a Main2Activity y se borra la actividad anterior. Cuando presionamos atrás en lugar de navegar de regreso a MainActivity, la aplicación se cierra porque MainActivity ya se está eliminando de la pila de actividades. 

Publicación traducida automáticamente

Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *