Android Serializable and Parcelable differences

Source: Internet
Author: User
Tags object serialization

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 (); } }

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.