2011-06-14 13 views
5

Quiero pasar objetos entre Actividades y Servicios en Android. La forma directa de hacerlo es hacer que sus objetos implementen Serializabl eo Parcelable.Serializar objeto para enviar dentro de Intent en Android

  • Serializable es un rendimiento relativamente malo.
  • Parcelable, por otro lado, me exige implementar y mantener la serialización, es decir, siempre recordar actualizarla en el futuro.

Estaba pensando en usar el serializador Jackson Json para esta tarea. Es más rápido que la serialización incorporada en Java y no requiere que escriba y mantenga el código de serialización.

¿Qué te parece?

Respuesta

2

Si el rendimiento es importante, entonces realmente debería ir con Parcelable. JSON será relativamente lento porque es menos eficiente que Parcelable, que se implementó específicamente en Android para mejorar el rendimiento al empaquetar datos para la comunicación entre procesos.

+0

Esto es cierto, Android utiliza objetos activos (Binder o FileDescriptors) en lugar del aplanamiento pasado de moda – Reno

+0

Gracias por la respuesta. ¿Cómo se compara Parcelable con Externalizable? Velocidad, memoria? – AlexV

+0

¿Alguien sabe qué diferencia relativa habrá en el uso de parcelable vs JSON solo para guardar objetos complejos en estado guardado? –

2

alexV

Creo que ambos métodos tienen su propia importancia.

  • Parcelable es una buena opción. Pero si usa parcelable u tendrá que escribir el código para la serelización usted mismo. este método no se recomienda cuando tiene un gran no. de miembros de datos en su clase, cuyo objeto desea enviar.
  • Por otro lado, serializatin es seguro operación voluminosa pero creo que es fácil de implementar. Tendrás que hacer que tus implementos de clase sean realzables.

Pero todavía hay una opción más, que puede utilizar. puedes hacer que tu objeto sea estático y acceder a él desde otra Actividad. si el objeto no es muy voluminoso, entonces esta también es una buena opción.

Gracias.

Cuestiones relacionadas