Logo Studenta

ACT03_Daniela_Morales_Sixto - Daniela Morales

¡Estudia con miles de materiales!

Vista previa del material en texto

REPORTE
 
Universidad Veracruzana
 
Sistemas operativos
 
Miguel Ángel Ortigoza Clemente
 
Callback y Procesos en Android
 
Daniela Morales Sixto
 
Lunes 18 de octubre de 2021
 
 
 
 
 
Índice 
1. Callback y Procesos en Android 2 
1.1. ¿Qué es un callback? 2 
1.2. Caso de uso de un callback 2 
2. ¿Qué es un proceso en Android? 3 
2.1. ¿Qué es un subproceso en Android? 4 
2.2. Comunicación entre procesos 5 
3. Referencias 5 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 2 
 
1. Callback y Procesos en Android 
 
1.1. ¿Qué es un callback? 
 
Un callback es una función que se pasa a otra función como argumento, que 
luego se invoca dentro de la función externa para completar algún tipo de rutina 
o acción. 
 
1.2. Caso de uso de un callback 
 
Son una solución elegante para un problema de comunicación que en realidad 
es bastante complicado, y nuestro lenguaje de programación de elección los 
hace fáciles de implementar con lambdas. 
El concepto de devoluciones de llamada es informar a una clase sincrónica / 
asincrónica si se realiza algún trabajo en otra clase. Algunos lo llaman el principio 
de Hollywood: "No nos llames, te llamamos". 
He aquí un ejemplo: 
 
 
 3 
 
 
La clase A llama a la clase B para realizar algún trabajo en un subproceso. Si el 
subproceso terminó el trabajo, informará a la clase A sobre la devolución de 
llamada y proporcionará los resultados. Entonces no hay necesidad de hacer 
una votación o algo así. Obtendrá los resultados tan pronto como estén 
disponibles. 
En Android, las devoluciones de llamada se utilizan entre Actividades y 
Fragmentos. Debido a que los fragmentos deben ser modulares, puede definir 
una devolución de llamada en el fragmento para llamar a métodos en la actividad. 
 
 
2. ¿Qué es un proceso en Android? 
 
 
De manera predeterminada, todos los componentes de la misma aplicación se 
ejecutan en el mismo proceso, y la mayoría de las aplicaciones no deben cambiar 
 
 
 4 
 
esto. No obstante, si necesitas controlar a qué procesos pertenece un 
componente determinado, puedes hacerlo en el archivo de manifiesto. 
La entrada de manifiesto de cada tipo de elemento de componente (<activity>, 
<service>, <receiver> y <provider>) admite un atributo android:process que 
puede especificar un proceso en el que debe ejecutarse el componente. Puedes 
establecer este atributo para que cada componente se ejecute en su propio 
proceso o para que algunos componentes compartan un proceso y otros no. 
También puedes establecer android:process para que los componentes de 
diferentes aplicaciones se ejecuten en el mismo proceso (si las aplicaciones 
comparten el mismo ID de usuario de Linux y están firmadas con los mismos 
certificados). 
Cuando decides qué procesos cancelar, el sistema Android pondera su 
importancia relativa para el usuario. Por ejemplo, cierra más rápido un proceso 
que aloja actividades que ya no se ven en la pantalla que un proceso que aloja 
actividades visibles. La decisión de si se debe finalizar un proceso, por lo tanto, 
depende del estado de los componentes que se ejecutan en él. 
 
 
2.1. ¿Qué es un subproceso en Android? 
 
 
Cuando se inicia una aplicación, el sistema crea un subproceso de ejecución, 
que se denomina "principal". Este subproceso es muy importante porque está a 
cargo de distribuir eventos a los widgets correspondientes de la interfaz de 
usuario, incluidos los eventos de dibujo. También es casi siempre el subproceso 
en el que tu aplicación interactúa con los componentes del kit de herramientas 
de la IU de Android (componentes de los paquetes android.widget y 
android.view). Por esto, el subproceso principal también se suele denominar 
subproceso de IU. Sin embargo, en circunstancias especiales, es posible que el 
subproceso principal de una app no sea el de la IU. 
El sistema no crea un subproceso separado para cada instancia de un 
componente. Se crean instancias de todos los componentes que se ejecutan en 
el mismo proceso del subproceso de IU, y las llamadas del sistema a cada 
componente se distribuyen desde ese subproceso. Por lo tanto, los métodos que 
responden a las devoluciones de llamada del sistema (como onKeyDown() para 
informar acciones del usuario o un método de devolución de llamada de ciclo de 
vida) siempre se ejecutan en el subproceso de IU del proceso. 
Por ejemplo, cuando el usuario toca un botón en la pantalla, el subproceso de IU 
de la aplicación distribuye el evento de toque al widget, que, a su vez, establece 
su estado presionado y publica una solicitud de invalidación en la cola de 
 
 
 5 
 
eventos. El subproceso de IU saca de la cola la solicitud y notifica al widget que 
debe volver a dibujarse. 
 
 
2.2. Comunicación entre procesos 
 
Android ofrece un mecanismo para comunicación entre procesos (IPC) con 
llamadas de procedimiento remoto (RPC), en el que una actividad u otro 
componente de la aplicación llama a un método, pero este se ejecuta de manera 
remota (en otro proceso), y los resultados se devuelven al emisor. Esto implica 
la descomposición de una llamada a un método y sus datos a un nivel en el que 
el sistema operativo pueda comprender; su transmisión desde el proceso y el 
espacio de dirección locales hacia el proceso y el espacio de dirección remotos; 
y, a continuación, el reensamble y la recreación de la llamada allí. Los valores 
de retorno se transmiten en la dirección opuesta. Android proporciona todo el 
código para realizar estas transacciones de IPC de manera que tú puedas 
centrarte en definir e implementar la interfaz de programación de RPC. 
 
3. Referencias 
Descripción general de los procesos y subprocesos. (s. f.). Android Developers. 
Recuperado 18 de octubre de 2021, de 
https://developer.android.com/guide/components/processes-and-
threads?hl=es#IPC 
Sanson, J. (2021, 25 mayo). Android Then and Now: Callbacks - Default to Open. 
Medium. Recuperado 18 de octubre de 2021, de 
https://medium.com/default-to-open/android-then-and-now-callbacks-
b0fe9f756b20 
What is callback in Android? (s. f.). Stack Overflow. Recuperado 18 de octubre 
de 2021, de https://stackoverflow.com/questions/18054720/what-is-
callback-in-android 
 
	1. Callback y Procesos en Android
	1.1. ¿Qué es un callback?
	1.2. Caso de uso de un callback
	1. Callback y Procesos en Android
	1.1. ¿Qué es un callback?
	1.2. Caso de uso de un callback
	1. Callback y Procesos en Android
	1.1. ¿Qué es un callback?
	1.2. Caso de uso de un callback
	1. Callback y Procesos en Android
	1.1. ¿Qué es un callback?
	1.2. Caso de uso de un callback

Otros materiales