亲宝软件园·资讯

展开

Android序列化接口Parcelable与Serializable接口对比

小尹编码中... 人气:0

Parcelable

优点:

缺点:

 public class MyParcelable implements Parcelable {
 *     private int mData;//参数
 *     public int describeContents() {//类描述,一般不管他
 *         return 0;
 *     }
 *     public void writeToParcel(Parcel out, int flags) {//序列化 :out写入参数,要注明参数类型 flag一般默认是0,1代表对象需要返回,不回收
 *         out.writeInt(mData);
 *     }
 *     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];
 *         }
 *     };
 *     private MyParcelable(Parcel in) {
 *         mData = in.readInt();
 *     }
 * }

google官方也是很贴心呀,直接把怎么用放在源码的注释里了

Serializable

优点:

缺点:

package java.io;
// Android-added: Notes about serialVersionUID, using serialization judiciously, JSON.
public interface Serializable {
}

Serializable 是一个空接口,用来标识当前类可以被 ObjectOutputStream序列化,以及被ObjectInputStream反序列化

Parcelable与Serializable的性能比较

总结:

个人小建议:

尽管Parcelable实现起来比较复杂,但是如果我们想要成为一名优秀的Android软件工程师,那么我们就需要勤快一些去实现Parcelable,而不是偷懒与实现Serializable,当然实现Serializable也可以

加载全部内容

相关教程
猜你喜欢
用户评论