Problems with custom object serialization in Android there are two choices one is parcelable and the other is serializable.
A serialization reason:
1. Permanently save the object, save the object's byte sequence to the local file;
2. Passing objects through a serialized object in the network;
3. Passing objects between processes through serialization.
Second, the following principles can be used to select which of these:
1. When using memory, parcelable analogy serializable high performance, so we recommend the use of Parcelable class.
2.Serializable generates a large number of temporary variables when serializing, causing frequent GC.
3.Parcelable cannot be used to store data on disk, because Parcelable does not guarantee the continuity of the data in the event of a change in the outside world. Although serializable efficiency is low, it is not advocated, but in this case, it is recommended that you use serializable.
Realize:
1 Serializable implementation, only need to inherit implements Serializable can. This simply marks the object and the system automatically serializes it.
2 Parcelabel implementation, you need to add a static member variable CREATOR in the class, this variable needs to inherit the Parcelable.creator interface.
Public classMyparcelableImplementsparcelable {Private intMdata; Public intdescribecontents () {return0; } Public voidWritetoparcel (Parcel out,intflags) {Out.writeint (mdata); } Public Static FinalParcelable.creator<myparcelable>CREATOR=NewParcelable.creator<myparcelable>() { Publicmyparcelable Createfromparcel (Parcel in) {return Newmyparcelable (in); } PublicMyparcelable[] NewArray (intsize) { return NewMyparcelable[size]; } }; Privatemyparcelable (Parcel in) {Mdata=In.readint (); } }