programacion - manual de android en pdf
¿Cuáles son los mecanismos de IPC disponibles en el sistema operativo Android? (5)
Hay tres tipos de mecanismos de IPC en Android:
- Intenciones (junto con los paquetes)
- Ligantes
- ASHMEM (Memoria compartida anónima): la diferencia principal entre la memoria compartida de Linux y esta memoria compartida es que, en Linux, otros procesos no pueden liberar la memoria compartida, pero aquí, si otros procesos requieren memoria, el sistema operativo Android puede liberar esta memoria.
¿Alguien, por favor, dígame cuáles son todos los mecanismos de IPC que están presentes en Android?
Que yo sepa son:
1) Intenciones,
2) Ligantes.
IPC es la comunicación entre procesos. Describe el mecanismo de cómo se comunican los diferentes tipos de componentes Android.
1) Los Intents
son mensajes que los componentes pueden enviar y recibir. Es un mecanismo universal de paso de datos entre procesos. Con la ayuda de los intentos, se pueden iniciar servicios o actividades, invocar receptores de difusión, etc.
2) Los Bundles
son entidades por las que se pasan los datos. Es similar a la serialización de un objeto, pero mucho más rápido en Android. El paquete se puede obtener de la intención a través del método getExtras()
.
3) Las Binders
son la entidad que permite que las actividades y servicios obtengan una referencia a otros servicios. No solo permite enviar mensajes a los servicios sino invocar directamente métodos en ellos.
Tal como está escrito en la developer.android.com/training/articles/security-tips.html#IPC , los mecanismos de IPC en Android incluyen:
- Intenciones (con paquetes incluidos)
- Carpetas o Mensajeros con Servicio
- DifusiónReceptores
Todas las respuestas son buenas y concisas en este post. Pero me gustaría aclarar sobre qué mecanismo de IPC debo usar . En primer lugar, IPC
significa Inter Process communication
donde dos aplicaciones o procesos se comunicarán entre sí al pasar algunos datos entre ellos. Dado que Android está diseñado para dispositivos integrados y pequeños, no debemos usar la serialization
para IPC
, sino que podemos usar BINDERs
que internamente usa parcels
. Parcel
es una especie de serialización liviana utilizando el concepto de memoria compartida.
Hay muchas diferencias entre Binder IPC y Serialización IPC:
1. La serialización es muy pesada de usar en dispositivos integrados, la comunicación será muy lenta.
2. Binders usa paquetes para hacer IPC muy rápido.
3. Los enlazadores utilizan internamente el concepto de memoria compartida, que utiliza menos memoria al compartir datos entre dos procesos.
En pocas palabras: los Binders
utilizan menos memoria y son bastante rápidos, ya que utilizan parcelas. Serialization
es muy pesada, lleva tiempo enviar y recibir datos y también requiere más memoria en comparación con las carpetas.
Nota: Para pasar datos entre actividades, servicios y receptores, use solo paquetes . No vayas por la serialización o carpetas. Las carpetas se usan específicamente solo para servicios de carpeta donde se comunicarán 2 procesos.
Espero que esto ayude :)
Hay tres tipos de mecanismos de la IPC:
- entrenador de animales
- carpeta de implementación
- AIDL