Paquete en carpeta
¿Qué es la parcela?
Parcel es un contenedor de datos inteligente.
Parcel proporciona la capacidad de empaquetar varios tipos de datos o referencias de objetos en el proceso A, implementar la transmisión entre procesos a través de Binder y luego descomprimirlos en el proceso B.
Parcel completa automáticamente el proceso de embalaje y descompresión.
Si se utiliza Parcel en el mismo proceso, los datos del objeto se desmontarán primero, se copiarán en la memoria de Parcel y luego se creará otro objeto basado en cada campo de la memoria de Parcel y luego se liberará la memoria de Parcel. Por lo tanto, utilizar Parcel en el mismo proceso provocará un desperdicio de memoria y una menor eficiencia.
Si Parcel se usa entre diferentes procesos, el proceso A primero desensamblará los datos del objeto y los copiará a la memoria de Parcel, y luego copiará los datos en la memoria de Parcel al espacio del núcleo para liberar la memoria de Parcel. Basado en mmap, el proceso B lee datos directamente desde el espacio del kernel, obtiene el objeto Parcel en el proceso B y luego restaura y crea un objeto Student de acuerdo con cada campo del objeto Parcel. En este momento, el objeto Student está en el proceso B. .