[Desarrollo de Android] Parcela en Binder

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. .

Supongo que te gusta

Origin blog.csdn.net/qq_39441603/article/details/125963052
Recomendado
Clasificación