Serializable与Parcelable 的区别联系:
从作用上分析Serializable:是将数据保存至本地文件,数据库,而Parcelable 是为了解决Serializable 在传输过程中的传输效率。基于ALDL 进程间通信机制。
Parcelable 占用内存小,但Activity 为了实现保证数据的持久性,为此使用Serializable。
为此:作为了解传输的方式做出一下实例:
public class Test implements Parcelable {
private String name;
private Bitmap mBitmap;
public Test() {
super();
}
public Test(String name, Bitmap bitmap) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
return 0;
}
// 讲JavaBin 写入到Parcel 中
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
bitmap.writeToParcel(dest, 0);
}
// 简单的来说就是一个接口
public static Parcelable.Creator<Test> CREATOR = new Creator<Test>() {
@Override
public Test[] newArray(int size) {
// TODO Auto-generated method stub
return new Test[size];
}
@Override
public Test createFromParcel(Parcel source) {
// TODO Auto-generated method stub
Test test = new Test();
test.name = source.readString();
return test;
}
};
}