Colección de citas famosas - Slogan de motivación - ¿Cómo configurar el modo de inicio de una actividad en Android?

¿Cómo configurar el modo de inicio de una actividad en Android?

¿Cómo conseguir un modo de inicio de actividad en Android? En Android, cada interfaz es una actividad y la operación de cambio de interfaz es en realidad una operación de creación de instancias entre diferentes actividades. En Android, la forma en que se inicia una actividad determina cómo se inicia.

Hay cuatro modos de inicio para la actividad total de Android:

Configuración del modo de inicio de actividad:

lt actividad android: nombre = ".main actividad " Android: inicio mode = " standard "/ gt;

Cuatro modos de actividad de inicio:

1. Modo de inicio estándar

, cada vez que se activa una actividad, se activa una actividad. Se creará y se colocará en la pila de tareas.

2. Apartamento de soltero

Si existe una instancia activa en la parte superior de la pila de tareas, se reutilizará; de lo contrario, se creará una nueva instancia y se colocará en la misma; apilar en la parte superior de la pila (incluso si ya existe una instancia de la actividad en la pila, se creará siempre que no esté en la parte superior de la pila).

3. Tarea única

Si ya hay una instancia de actividad en la pila, se reutilizará (se llamará a onNewIntent() de la instancia). Cuando se reutiliza, la instancia se devuelve a la parte superior de la pila, por lo que las instancias superiores se eliminan de la pila. Si la instancia no existe en la pila, se creará una nueva instancia y se colocará en la pila.

4. Instancia única

Cree una instancia de actividad en una nueva pila, permitiendo que múltiples aplicaciones * * * disfruten cambiando las instancias de actividad en la pila. Una vez que existe una instancia de la actividad modificada en la pila, cualquier aplicación que active nuevamente la actividad modificada reutilizará la instancia en la pila. El efecto equivale a que múltiples aplicaciones * * * disfruten de una aplicación, y quien activa la actividad ingresa a la misma aplicación.

Entre ellos, estándar es el modo de inicio predeterminado del sistema.

El siguiente es un ejemplo para ilustrar el mecanismo operativo estándar:

1 Private TextView text_show

2 Botón privado btn_mode

Tres

4 @Override

5 public void onCreate(Estado de instancia guardado del paquete){

6 super oncreate(savedInstanceState);

7 setContentView. (r . diseño . actividad _ principal);

9 texto _ mostrar = (TextView)this findviewbyid(r . id . texto _ mostrar

);

10

11 texto _ show . settext(this . tostring());

12

13 BTN _ mode =( Botón)this . findviewbyid(r . id . BTN _ mode);

14

15 }

16

Evento de clic de botón

17 criterio de inicio de anulación pública (vista v) {

18 actividad de inicio (nueva intención (esta, actividad principal. clase));

19

p>

20 text _ show . settext(this . tostring());

21 }

Cómo configurar el modo de inicio de la actividad. : Estándar: este es el modo predeterminado. Cada vez que se activa una actividad, se crea una instancia de la actividad y se coloca en la pila de tareas. SingleTop: si existe una instancia de la actividad en la parte superior de la pila de tareas, se reutilizará (se llamará a onNewIntent() de la instancia); de lo contrario, se creará una nueva instancia y se colocará... ¿Qué modo de inicio es? ¿Se utiliza para la actividad principal de Android? En Android, las actividades tienen cuatro modos de inicio, a saber:

"Estándar" (predeterminado)

"Apartamento único"

"Tarea única"

p>

"Instancia única"

1. ¿Cómo decidir qué tarea le pertenece?

La tarea de destino de las actividades "estándar" y "singleTop" está en la misma tarea que el remitente de la intención recibida, a menos que la intención incluya el parámetro FLAG_ACTIVITY_NEW_TASK.

Si se proporciona el parámetro FLAG_ACTIVITY_NEW_TASK, se iniciará en otra tarea.

2. ¿Se permiten múltiples instancias?

"standard" y "singleTop" pueden tener instancias múltiples y existir en diferentes tareas. Una tarea puede contener múltiples instancias de una actividad.

Los límites de "singleTask" y " singleInstance" son diferentes. la generación de una sola instancia y es el elemento raíz de la tarea.

SingleTop requiere que, al crear una intención, si hay una instancia de actividad para crear en la parte superior de la pila, la intención se enviará a esa instancia, no a la nueva instancia.

3. ¿Se permiten otras actividades en esta tarea?

"singleInstance" ocupa una tarea y no pueden existir otras actividades en la tarea; si inicia una nueva actividad, independientemente del modo de inicio de la nueva actividad, la nueva actividad se ejecutará en otras tareas ( como agregar el parámetro FLAG_ACTIVITY_NEW_TASK).

Los otros tres modos se pueden almacenar con otras actividades***.

4. ¿Necesitas generar una nueva instancia cada vez?

"Estándar" generará una nueva instancia de actividad para cada intención de lanzamiento;

Si la actividad de "singleTop" está en la parte superior de la pila de tareas, no habrá ninguna nueva instancia de la actividad. se generará, use directamente la instancia en la parte superior de la pila; de lo contrario, se generará una instancia de la actividad.

Por ejemplo, los elementos de la pila de tareas actuales son A-B-C-D (D está en la parte superior de la pila). En este momento, se envía una intención de inicio a D. Si D es "estándar", se genera una nueva instancia de D y la pila se convierte en A-B-C-D-D

Si D es singleTop, no se genera ninguna nueva instancia de D. generado y la pila El estado sigue siendo A-B-C-D

Si se envía un Intent a B en este momento, independientemente de si el modo de lanzamiento de B es "estándar" o "singleTop", se generará una nueva instancia de B. y el estado de la pila pasará a ser A-B-C-D-B

"singleInstance" es la única actividad en su pila y se reutilizará cada vez.

Si "singleTask" está en la parte superior de la pila, se acepta la intención; de lo contrario, se descarta, pero la tarea aún volverá al primer plano.

El método onewitt() se llama cuando una instancia de actividad existente maneja una nueva intención.

Si la instancia de actividad se generó al recibir un intent, el usuario puede regresar al estado anterior presionando la tecla Atrás; si una actividad existente maneja este intent, el usuario no puede regresar al estado anterior presionando. el estado de la tecla trasera.

Para resumir:

Los estándares se crean cada vez y cada tarea puede tener múltiples instancias (cada tarea puede tener múltiples instancias).

Si la instancia actual de singleTop está en la parte superior de la pila, no crea una nueva instancia, sino que llama a su OnNewIntent. Si no está en la parte superior de la pila, cree una nueva instancia (cada tarea puede tener varias instancias y puede reutilizarse en la parte superior de la pila).

SingleTask crea una nueva tarea. Si hay otra tarea y contiene una instancia, entonces la instancia de esa tarea se llama directamente. (Solo una tarea lo tendrá)

SingleInstance crea una nueva tarea con solo una instancia en la tarea. (Solo existirá una tarea y es la única tarea)

FLAG_ACTIVITY_NEW_TASK es similar a singleTask.

FLAG_ACTIVITY_SINGLE_TOP es similar a singleTop.

FLAG_ACTIVITY_CLEAR_TOP no tiene ninguna relación correspondiente.

En el desarrollo de Android, el modo de actividad de inicio predeterminado es el modo de inicio estándar. ¿Cuándo se utilizan otros modos de inicio? El modo de inicio es simplemente la estrategia cuando se inicia la actividad. Configure el atributo android: launchMode de la etiqueta en AndroidManifest.xml;

Hay cuatro modos de inicio, a saber, estándar, singleTop, singleTask y singleInstance.

Antes de explicar el modo de inicio, es necesario comprender el concepto de "pila de tareas";

Uno:

Modo estándar: no hay nada que decir sobre esto. El modo de activación predeterminado de Android es Estándar.

Si hay tres actividades, Act1, Act2 y Act3, y si comienza desde Act1 hasta ACT 2, y luego comienza hasta ACT 3, entonces la pila de tareas de Android es ACT 1, Act2, Act3 y Act3 está en la parte superior de la pila. Si presiona la tecla de retorno en el teléfono en este momento, deberá regresar al escritorio tres veces (suponiendo que sea una demostración iniciada desde el escritorio). La pila de tareas asigna y destruye Act3, Act2 y finalmente Act1.

Dos: modo Single-Top:

Resultados experimentales:

Modo SingleTop: este modo de inicio es similar al modo estándar y la asignación de la pila de tareas es También es muy similar, como por ejemplo: Act1, act2 y android existentes: launchMode="singleTop" están configurados en el archivo de manifiesto del acto 2, y los demás son el modo estándar predeterminado. Si la demostración experimental se inicia desde el escritorio, del acto1 al acto2, la pila de tareas se asigna como acto 1, acto2. En este punto, la pila de tareas es exactamente la misma que la pila de tareas del modo estándar. A continuación, explique las diferencias. Si act1 se inicia en la interfaz act2, entonces la pila de tareas es act1, act2. Act1, comenzando desde act1 hasta act2, comenzando con act2 varias veces. En el caso de una pila de tareas (en la interfaz act2), act1, act2, act1, act2 en la parte superior de la pila no se recrearán, pero se reutilizará act2, y así sucesivamente.

Conocimientos teóricos:

SingleTop, si el elemento superior de la pila de tareas es un componente a activar, no creará una nueva actividad y la colocará en la pila de tareas, pero es reutilizar la actividad en la parte superior de la pila. Si se descubre que el elemento en la parte superior de la pila no es la actividad que se va a activar, se crea una nueva actividad y se coloca en la pila de tareas.

Escenario de aplicación en modo único:

Para los marcadores guardados en la aplicación (o navegador), si el usuario ve una interfaz para guardar sus etiquetas favoritas, si desea guardar 10 marcadores, cuando el usuario devuelve la clave, volverá a la aplicación 10 veces. SingleTop en Android resuelve este problema.

Tres modos de tarea única:

Los resultados experimentales no son muy diferentes, por lo que no diré más sobre el contenido experimental. Podrías escribir una pequeña demostración y dos actividades, cada una con dos botones. Pueden comenzar a iniciar sesión entre sí para verificar y tendrán una comprensión más profunda. Puede consultar el modo SingleTop para experimentar. Lo siguiente es solo para explicar la diferencia entre SingleTop y Singletop:

La diferencia es la siguiente: (conocimientos teóricos)

El modo de operación SingleTask suele ser similar al modo de operación singleTop. Si descubre que la actividad que se va a iniciar ya existe en la pila de tareas, borrará todas las actividades en la pila de tareas donde se encuentra la actividad y luego reutilizará directamente la actividad existente.

Escenarios de aplicación:

Si hay una función en una aplicación que requiere cargar contenido web y abrir un contenido web existente en una actividad del navegador, entonces la sobrecarga de memoria es muy grande. Primero, debe inicializar la actividad del navegador del kernel del navegador integrado webkit/c, intercambiando espacio por tiempo. El uso de este modo ahorra sobrecarga de memoria.

Cuatro: Modo de instancia única:

Conocimiento teórico directo":

El modo de operación de instancia única abrirá una nueva pila de tareas, que es diferente de otras actividades ordinarias. El proceso del patrón es abrir primero una nueva pila de tareas y colocar la actividad que se activará en la nueva pila de tareas. Esta pila de tareas tiene solo una instancia, lo cual también es extremo y tiene algo que ver con su escenario de aplicación.

Escenarios de aplicación:

Los diccionarios de aplicaciones, como Youdao Dictionary y Kingsoft Dictionary, son más extremos porque no quieren colocarse en la misma pila de tareas. Son aplicaciones de programas del sistema global para lograr ahorros. Propósito de la memoria.

¿Cómo configurar el modo de inicio uefi en el sistema win7? Inserte el disco UEFI de inicio U con el archivo de imagen iso del sistema fantasma win7 en la interfaz u *** de la computadora y luego reinicie la computadora. Cuando aparece la pantalla de inicio, puede usar la tecla de acceso directo de arranque USB con un solo clic para ingresar a la ventana de selección de elementos de inicio y luego mover el cursor al elemento que comienza con UEFI: (Nota: este elemento debe estar seleccionado). Presione la tecla Enter y espere para ingresar al sistema U startup win pe. La herramienta de instalación de inicio U se abrirá y cargará automáticamente el programa de instalación del sistema win7 preparado en el disco USB U startup uefi. Haga clic para seleccionar la unidad c como disco de instalación del sistema y luego haga clic en el botón "Aceptar" para continuar.

Aparecerá una ventana que le preguntará si desea realizar la operación. Haga clic en "Aceptar" para realizar la operación.

Luego espere pacientemente a que se libere el sistema win7 y reinicie automáticamente la computadora.

Después de reiniciar la computadora, la instalación y aplicación de los programas del sistema posteriores se completará hasta que ingrese al escritorio del sistema win7.

El problema con singleTop en el modo de inicio de la actividad de desarrollo de Android parece un poco inexacto. "Después de que D completó la operación, inicié el navegador E integrado en el sistema. Según el SDK, el navegador E se puso en una nueva tarea. Así que ahora hay dos tareas. ¿Qué te hace estar seguro de que el navegador E se puso en una nueva tarea? ¿Establecer la bandera en la intención de iniciar el navegador? Preguntas sobre singleTop en el modo de inicio de actividad de desarrollo intermedio

¿Dónde están los héroes? Cada vez que se activa una actividad, se crea una instancia de la actividad y se coloca en la pila de tareas.

SingleTop: si hay una instancia de esta actividad en la parte superior de la pila, se reutilizará (. se llamará a onNewIntent() de la instancia; de lo contrario, se creará una nueva instancia y se colocará en la parte superior de la pila. Incluso si ya existe una instancia de la actividad en la pila, se creará una nueva instancia siempre que exista. no está en la parte superior de la pila. /p>

SingleTask: si ya hay una instancia de esta actividad en la pila, se reutilizará (se llamará a onNewIntent() cuando se reutilice). La instancia se devolverá a la parte superior de la pila, por lo que la que está encima de ella se eliminará de la pila. Si la instancia no existe en la pila, se creará una nueva instancia y se colocará en la pila. p>

SingleInstance: Crea una instancia activa en una nueva pila. Aplicaciones * * * disfrutan de la instancia de actividad en la pila Una vez que una instancia de actividad de este modo ya está presente en la pila, cualquier aplicación que active la actividad nuevamente lo hará. reutilice la instancia en la pila (llamará a onNewIntent () de la instancia). El efecto es equivalente a que varias aplicaciones compartan una aplicación, sin importar quién active la actividad, ingresarán el atributo android:launchMode del elemento Actividad en AndroidManifest. .xml.

No sé qué quieres preguntar, déjame responderte.

¿Cuáles son los modos de inicio de las actividades? : Estándar: este es el modo predeterminado de la instancia de actividad y se coloca en la pila de tareas.

SingleTop: si hay una instancia de esta actividad en la parte superior de la pila, se reutilizará (la instancia es onNewIntent). () se llamará), de lo contrario se creará una nueva instancia y se colocará en la parte superior de la pila Incluso si ya existe una instancia de esta actividad en la pila, siempre que no esté en la parte superior. En la pila, se creará una nueva instancia de SingleTask: si ya existe una instancia de esta actividad en la instancia de la pila, se reutilizará (se llamará a onNewIntent () de la instancia cuando se reutilice). regresa a la parte superior de la pila, por lo que la instancia que está encima se eliminará de la pila. Se creará una nueva instancia y se colocará en la pila.

Instancia única: crea una instancia de actividad en una nueva pila, lo que permite que varias aplicaciones * * * disfruten de la instancia de actividad en la pila. Una vez que ya existe una instancia de actividad de este modo en la pila, cualquier aplicación que active la actividad nuevamente reutilizará la instancia en la pila (llamará a onNewIntent() de la instancia). El efecto es equivalente a que varias aplicaciones compartan una aplicación. No importa quién active la actividad, ingresarán a la misma aplicación.

El atributo android:launchMode del elemento Actividad ubicado en el archivo AndroidManifest.xml.