2012-05-03 2 views
2

Je vois colis et sérialisable étant utilisé de manière interchangeable, ou au moins de manière non intuitive dans le même contexte. Pouvez-vous clarifier certaines choses pour moi?Colis Android, stocké en mémoire ou sur disque? Comment stocker sur le disque

  1. sont un stockage persistant de parcelle (sur le disque) ou stockées dans la mémoire ne

  2. dois-je sérialisable aux données parcellaires de magasin sur le disque

merci pour la perspicacité et non, le manuel de développement de l'android ne me rend pas cette évidence

Répondre

3

Mes réponses:

  1. Les parcelles sont utilisées pour aplatir des objets afin qu'ils puissent être stockés ailleurs que dans la mémoire de la JVM.

  2. Vous n'avez pas besoin de mélanger sérialisable avec des parcelles pour stocker des données sur le disque. L'un ou l'autre seul suffit à stocker des objets sur le disque.


Serializable et Parcelable sont les deux façons d'aplatir vos objets Java.

Ces objets aplatis peuvent être transmis entre les processus via différents formats de transmission - fichiers de disque inclus.

Serializable provient du noyau Java et est facile à utiliser.

Parcelable vient d'Android et est un peu plus complexe.

Cette réponse comprend plus de détails:

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

Ce blog a exemple de code Parcelable:

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

Ce blog a un exemple de code Serializable:

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

0

Lire la documentation de parcelle. Les colis ne doivent pas être placés dans un stockage persistant.

Extrait:

» ... colis n'est pas un mécanisme de sérialisation à usage général Cette classe (et l'API Parcelable correspondant pour placer des objets quelconques dans une parcelle) est conçu comme un transport IPC haute performance.. "

" ... il n'est pas approprié de placer des données de parcelle dans un stockage persistant: des modifications dans l'implémentation sous-jacente de l'une des données de la parcelle peuvent rendre les données plus anciennes illisibles. "

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

Questions connexes