我正在实现 Parcelable 以便在整个 Intent 中传输一些简单的数据。
但是, Parcelable 接口中有一种我根本不理解的方法:newArray()
。
它没有任何相关文档,甚至在我打包/拆包我的对象时也没有在我的代码中调用。
示例 Parcelable 实现:
public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
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();
}
}
所以,我的问题是:这个方法有什么用?什么时候叫它?除了那种方法
之外,做其他事情还有什么意义吗?return new MyParcelable[size];