Serializable 和 parcelable的实现和比较

首先这个两个接口都是用来序列化对象的

但是两者在性能和应用场合上有区别,parcelable的性能更好,但是在需要保存或者网络传输的时候需要选择Serializable因为parcelable版本在不同版本可能不同

实现方面,serializable直接实现接口无需实现任何接口,只需要提供一个版本ID

而parcelable需要实现几个方法

 // 写数据进行保存
     public void writeToParcel(Parcel out, int flags)
 {
         out.writeInt(mData);
         out.writeString(mStr);
     }


 // 读数据进行恢复
     private MyParcelable(Parcel in)
{
  mData = in.readInt();
         mStr = in.readString();
}
// 用来创建自定义的Parcelable的对象
     public static final Parcelable.Creator<MyParcelable> CREATOR
             = new Parcelable.Creator<MyParcelable>() {
         public MyParcelable createFromParcel(Parcel in) {
             return new MyParcelable(in);
         }

         public MyParcelable[] newArray(int size) {
             return new MyParcelable[size];
         }
     };
-----人若无名,则可专心练剑
原文地址:https://www.cnblogs.com/u3shadow/p/4309831.html