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