1.Intent传递数据时能传递哪些类型的数据?
Intent可以传递的数据类型非常丰富,JAVA的基本数据类型和String和他们的数组形式,还可以传递Serializable和Percalable的接口对象。
2.Serializable和Percalable的区别?
在使用内存的时候,Percalable比Serializable性能高,所以推荐使用Percalable
Serializable的实现需要继承Serializable,这只是打个标记,系统会自己实现序列化。
Percalable需要这类中添加一个静态成员变量CREATOR,这个变量需要继承Percalable.Creator接口
public class MyPercalable implements Parcelable{
protected MyPercalable(Parcel in) {
}
public static final Creator<MyPercalable> CREATOR = new Creator<MyPercalable>() {
@Override
public MyPercalable createFromParcel(Parcel in) {
return new MyPercalable(in);
}
@Override
public MyPercalable[] newArray(int size) {
return new MyPercalable[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
}
}