Es parcelable vale la pena implementar para pasar datos entre las actividades?

Quiero mejorar el rendimiento de mi aplicación. Una cosa que me viene a la mente es reemplazar todos los parámetros de paquete de intenciones serializable con parcelable.

He encontrado este hilo: Beneficio de usar Parcelable en lugar de serializar objeto

¿Hay alguien que dice, a partir de un libro, que parcelable sólo está destinado a ser utilizado para la comunicación entre procesos? Eso probablemente no esté actualizado, ¿verdad? Porque es, técnicamente al menos, posible.

Entonces también hay la declaración de que parcelable no es confiable porque la implementación varía entre los dispositivos, esto sería por supuesto una característica de muerte, ya que quiero que funcione siempre, todos los dispositivos y apis, a partir de API 7.

Y también leí algunos consejos sobre el uso de Externalizable o la implementación de un protocolo personalizado … pero no entiendo, por qué Parcelable no es confiable, ¿por qué los desarrolladores de Android hacen tal zumbido en torno a algo que no funcionará en todos los dispositivos? ¿O es que el comentario no es cierto?

¿Vale la pena implementar Parcelable? ¿Me quedo con Serializable? ¿O es una serialización personalizada / Externalizable el enfoque correcto?

Por favor, no me digas "sólo intentar", no tengo tiempo para esto, especialmente para comprobar si Parcelable es fiable (y también no suficientes dispositivos) … se pregunta …

Gracias.

PS También no me digas "Serializable será aceptable para la mayoría de los casos" Sé que, es de hecho aceptable, pero tengo tiempo y me gustaría usarlo con Parcelable (o algo más), si esto mejora la experiencia del usuario.

Parcelable trabaja siempre, todo el tiempo, en todos los dispositivos. Si no lo hiciera, nada funcionaría. Los dispositivos internos de Android dependen mucho de Parcelable .

Parcelable será un poco más eficiente que Serializable pero dudo seriamente que tenga mucho impacto en su "experiencia de usuario" (a menos que, por supuesto, lo esté utilizando en todo el lugar y serializando objetos muy grandes y complicados).

Si usted piensa que usted está teniendo problemas de rendimiento, entonces me gustaría pasar mi tiempo disponible de perfiles de la aplicación y la recopilación de datos empíricos sobre dónde está pasando su tiempo. IMHO reemplazando Serializable con Parcelable es una optimización de implementación de nivel relativamente bajo que es probable que le proporcione cerca de cero perceptible mejora de rendimiento.

¿Hay alguien que dice, a partir de un libro, que parcelable sólo está destinado a ser utilizado para la comunicación entre procesos? Eso probablemente no esté actualizado, ¿verdad? Porque es, técnicamente al menos, posible.

Si Parcelable no se suponía que se pasaba entre actividades, ¿por qué existe el método putExtra (nombre de cadena, valor parcelable) desde la API Nivel 1?

Entonces también hay la declaración de que parcelable no es confiable porque la implementación varía entre los dispositivos, esto sería por supuesto una característica de muerte, ya que quiero que funcione siempre, todos los dispositivos y apis, a partir de API 7.

Permítanme citar la documentación de la parcela :

Parcel no es un mecanismo de serialización de uso general. Esta clase (y la correspondiente API Parcelable para colocar objetos arbitrarios en un paquete) está diseñada como un transporte IPC de alto rendimiento . Como tal, 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 del paquete pueden hacer ilegibles los datos antiguos.

Aquí sólo puedo leer un consejo sobre no almacenar datos de una parcela en un almacenamiento persistente. Desde mi experiencia personal Parcelable nunca fue un problema para pasar datos entre actividades. Lo utilizo en gran medida y apoyo API 8 a la API actual.

En cuanto al rendimiento y la velocidad, se ha establecido que el uso de Parcelable es mejor, ya que es un mecanismo de serialización de transporte IPC de alto rendimiento específico de Android. Sin embargo, para ver realmente una mejora, debe depender de cuánto lo utilice.

  • ¿Cómo pasar el objeto Parcelable del niño a la actividad de los padres?
  • Paso de arraylist de objetos entre actividades
  • Android: pasar la lista <GeoPoint> a otra actividad
  • ¿Qué es Parcel.enforceInterface?
  • Android Parcelable y objeto que pasa por referencia
  • No se puede pasar el objeto personalizado en un intento: El método Poner extra es ambiguo para el tipo Intención
  • Utilice Parcelable para pasar un objeto de una actividad de android a otra
  • Odd Error "Clase no encontrada al desmarcar"
  • ¿Cómo cambiar el contenido del fragmento al transferir datos del fragmento después de buscar en RecyclerView?
  • Android BadParcelableException sólo con apk firmado
  • Parcel.readException pasando un objeto al servicio remoto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.