Conocimientos básicos de la Actividad (Parte 2)
El artículo anterior resumió algunos conocimientos sobre la Actividad. Ahora continuaremos clasificando el conocimiento sobre la Actividad, incluida la transmisión directa de datos por Actividad, el ciclo de vida de la Actividad, el modo de inicio de la Actividad, etc. .
1 .intent transfiere datos:
Utilice el método startActivity y el método putExtra() del intent para transferir datos en forma de pares clave-valor. métodos sobrecargados, y puede elegir el apropiado según los diferentes tipos de datos transferidos. Método Además del método putExtra (), también existe el método putExtras (). El parámetro pasado es Bundle.
Si se pasa un objeto, el objeto debe estar serializado, es decir, se debe implementar la interfaz Parcelable o Serializable.
Si desea que la página iniciada devuelva datos, debe usar startActivityForResult. () En este método, debe establecer un número de acceso para distinguir a los diferentes visitantes y reescribir el método onActivityResult en la página de inicio para recibir los datos devueltos.
2. El ciclo de vida de la actividad. en las dos situaciones.
El ciclo de vida en circunstancias normales, la situación normal se refiere a la Actividad bajo el funcionamiento normal del ciclo de vida del usuario. El ciclo de vida en circunstancias anormales se analizará más adelante.
onCreate: la devolución de llamada cuando se crea la actividad por primera vez. Se utiliza principalmente para el trabajo de inicialización en este método, como la inicialización de controles y el trabajo de enlace de eventos.
onStart: la actividad cambia del estado invisible al estado invisible. estado visible.
onResume: la actividad pasa a primer plano y puede interactuar con el usuario.
onPause: la actividad es visible pero no puede interactuar con el usuario.
onStop: La actividad cambia de visible a invisible y se convierte en una actividad de fondo.
onDestroy: se llama cuando se destruye la actividad.
onRestart: la actividad cambia de visible a invisible. El fondo se convierte en la actividad de primer plano.
Al iniciar la Actividad y saltar entre las dos actividades, puede conocer el proceso de cambio del ciclo de vida de la Actividad. Hay dos explicaciones: (1) Cuando las dos actividades saltan, la primera Actividad es onPause, onStop. método y el tiempo de llamada al método del ciclo de vida de la segunda Actividad.
La primera Actividad ejecuta el método onPause primero, y la segunda Actividad se puede crear. Esto significa No realice operaciones que consuman demasiado tiempo en el método onPause. de lo contrario, afectará la creación de la segunda actividad. Hay un comentario en el código fuente (ActivityStack):
(2) onStart y onResume, onPause y onStop La diferencia sustancial entre estos dos pares de métodos. : onStart y onStop se distinguen por la visibilidad de la Actividad. onResume y onPause se distinguen por si la Actividad está en primer plano y si puede interactuar con el usuario. Tenga en cuenta que cuando se llama a onPause, la Actividad todavía está visible cuando se llama. como cuando aparece un cuadro de diálogo, la siguiente actividad es visible. En este momento, se llama al método onPause.
Ciclo de vida de la actividad en circunstancias anormales: en circunstancias anormales, se refiere a configuraciones relacionadas con recursos. ocurre un cambio o la actividad en segundo plano es reciclada por el sistema, la actividad
El ciclo de vida de ty es difícil de reproducir cuando el sistema recicla la actividad en segundo plano y cuando la configuración relacionada con los recursos cambia, el proceso de ejecución del ciclo de vida es el mismo. es cuando se cambia entre pantallas horizontales y verticales. Configure la etiqueta android:screenOrientation en el componente Actividad de AndroidManifest. Cuando la configuración se puede ajustar horizontal y verticalmente con el sensor de orientación, el proceso destruye la Actividad primero y luego. su creación se producirá al cambiar.
Proceso:
En este caso, es posible que se pierdan datos. El sistema proporciona métodos para guardar y restaurar datos: onSaveInstanceState y onRestoreInstanceState. Paquete para guardar y restaurar datos.
Puede configurar la etiqueta android:screenOrientation según sea necesario para establecer la dirección de la actividad si la dirección de la actividad requiere cambiar entre pantallas horizontales y verticales, pero la destrucción de. la Actividad no está permitida, puede configurar las siguientes etiquetas Cuando ocurren estas situaciones (de uso común), el cambio no volverá a recorrer el método del ciclo de vida de la Actividad, sino que solo llamará a onConfigurationChanged. Puede actualizar la operación en este método de acuerdo con. la situación.
Salida de registro durante el cambio
3. Actividad Cuatro modos de inicio
Estándar: es el modo de inicio predeterminado de Actividad para Android en Actividad. nodo de AndroidManifest: etiqueta launchMode="standard".
Específico: se reiniciará cada vez que se inicie.
singleTop: android correspondiente: launchMode="singleTop. "etiqueta debajo del nodo Actividad de AndroidManifes
Características: cuando la actividad en este modo está en la parte superior de la pila, no se recreará una nueva actividad y se llamará al método onNewIntent. Si se actualiza la intención de la actividad, se debe llamar al método setIntent (). El proceso del ciclo de vida específico
singleTask: ya hay una actividad en la pila de actividades que debe reiniciarse. Es necesario iniciar una actividad, la actividad que se encuentra encima de la actividad que debe iniciarse se borrará primero, por ejemplo: secuencia de inicio actividad principal-actividadA -actividadB-actividadA, donde actividadA es el modo de inicio de singleTask:
singleInstance: existe solo en una actividad de pila.
Acerca de la pila de actividades: se refiere a una estructura de cola "primero en entrar, primero en salir" utilizada para administrar actividades. El método para ver la pila de actividad correspondiente: getTaskId de la actividad. (), el valor de identificación de la misma pila son los mismos. adb shell dumpsys actividad Verifique la estructura de la pila en el terminal. Por ejemplo, sigue siendo la secuencia de inicio de la actividad anterior. La diferencia es que ActividadA está configurada en instancia única. Esta es la estructura de la pila: hay dos TaskRecords, entre los cuales ActivityB y MainActivity están en la misma pila.
4. Consejos para usar en el desarrollo de actividades:
lt; ; Defina una actividad principal y herede esta actividad al crear una nueva actividad.
Sí, algunas configuraciones públicas de la actividad se pueden establecer en la actividad principal, como obtener el nombre de cada actividad, configurar las propiedades del formulario de la actividad, administrar el ciclo de vida de la actividad, etc.
lt; Defina métodos estáticos en la actividad iniciada y las condiciones de inicio serán obvias:
lt; 3gt; Administrar clases de actividad, se usa para salir de la aplicación con un clic. Se usa para agregar al crear y destruir la clase principal. Actividad Y elimine la Actividad, llame al método estático FinishAllActivity donde necesita salir con un clic.