Junior — Middle
Kāda ir atšķirība starp interfeisiem Serializable un Parcelable, pārsūtot objektus Android?
sobes.tech AI
Atbilde no AI
Serializable un Parcelable ir interfeisi serializācijai objektu Android platformā, bet tiem ir dažādas īpašības:
-
Serializable: tas ir standarta Java interfeiss. To ir viegli īstenot (vienkārši jārealizē interfeiss), bet tas darbojas lēnāk un rada vairāk slodzes serializācijas laikā.
-
Parcelable: tas ir Android specifisks interfeiss, kas prasa manuālu metožu īstenošanu datu rakstīšanai un lasīšanai. Tas darbojas daudz ātrāk un efektīvāk, kas ir svarīgi datu pārsūtīšanai starp Android komponentiem (piemēram, caur
IntentvaiBundle).
Parcelable lietošanas piemērs:
public class User implements Parcelable {
private String name;
private int age;
protected User(Parcel in) {
name = in.readString();
age = in.readInt();
}
public static final Creator<User> CREATOR = new Creator<User>() {
@Override
public User createFromParcel(Parcel in) {
return new User(in);
}
@Override
public User[] newArray(int size) {
return new User[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(age);
}
}
Tādēļ Android objektu pārsūtīšanai ieteicams izmantot Parcelable tā efektivitātes dēļ.