¿Paquete de Android, almacenado en la memoria o en el disco? Cómo almacenar en disco

Veo que paquete y serializable se usan de manera intercambiable, o al menos de manera poco intuitiva en el mismo contexto. ¿Puedes aclararme algunas cosas?

  1. son almacenamiento persistente del paquete (en el disco) o se almacenan solo en la memoria

  2. ¿Necesito serializable para almacenar datos de paquetes en el disco?

gracias por la información, y no, el manual de desarrollo de Android no hace que esto sea obvio para mí

preguntado el 03 de mayo de 12 a las 18:05

2 Respuestas

Mis respuestas:

  1. Los paquetes son para aplanar objetos para que puedan almacenarse en otro lugar que no sea la memoria en ejecución de la JVM.

  2. No necesita mezclar serializable con paquetes para almacenar datos en el disco. Uno u otro solo es suficiente para almacenar objetos en el disco.


Serializable y Parcelable son formas de aplanar sus objetos Java.

Estos objetos aplanados se pueden pasar entre procesos a través de varios formatos de transmisión, incluidos los archivos de disco.

Serializable proviene del núcleo de Java y es fácil de usar.

Parcelable proviene de Android y es un poco más complejo.

Esta respuesta incluye más detalles:

https://stackoverflow.com/a/5551155/523135

Esta publicación de blog tiene código de muestra Parcelable:

http://blog.cluepusher.dk/2009/10/28/writing-parcelable-classes-for-android/

Esta publicación de blog tiene un código serializable de muestra:

http://www.javapractices.com/topic/TopicAction.do?Id=45

contestado el 23 de mayo de 17 a las 13:05

Lea la documentación del paquete. El paquete no debe colocarse en almacenamiento persistente.

Extracto:

"...Parcel no es un mecanismo de serialización de propósito general. Esta clase (y la API Parcelable correspondiente para colocar objetos arbitrarios en un Parcel) está diseñada como un transporte IPC de alto rendimiento..."

"... no es apropiado colocar ningún dato de Parcel en un almacenamiento persistente: los cambios en la implementación subyacente de cualquiera de los datos en Parcel pueden hacer que los datos más antiguos sean ilegibles".

http://developer.android.com/reference/android/os/Parcel.html

Respondido el 10 de Septiembre de 15 a las 08:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.