Фарқи байни интерфейсҳои Serializable ва Parcelable дар интиқоли объектҳо дар Android чист?
sobes.tech AI
Ҷавоб аз AI
Serializable ва Parcelable — интерфейсҳо барои сериализатсияи объектҳо дар Android, аммо онҳо хусусиятҳои гуногун доранд:
-
Serializable: стандартии интерфейси Java мебошад. Истифодаи он осон (фақат бояд интерфейсро амалӣ кунед), аммо бо суръати камтар кор мекунад ва дар вақти сериализатсия бештар бардоштро ба вуҷуд меорад.
-
Parcelable: интерфейси махсуси Android аст, ки талаб мекунад, ки методҳо барои навиштан ва хондани маълумот дастӣ амалӣ карда шаванд. Он хеле зудтар ва самараноктар кор мекунад, ки барои интиқоли объектҳо байни компонентҳои Android (масалан, тавассути
IntentёBundle) муҳим аст.
Маслиҳат барои истифодаи Parcelable:
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);
}
}
Пас аз ин, барои интиқоли объектҳо дар Android истифодаи Parcelable тавсия дода мешавад, зеро он беҳтар кор мекунад.