Androidda obyektlarni uzatishda Serializable va Parcelable interfeyslarining farqi nima?
sobes.tech AI
AIdan javob
Serializable va Parcelable — bu Androidda obyektlarni seriyalash uchun interfeyslar, ammo ular turli xususiyatlarga ega:
-
Serializable — Java uchun standart interfeys. Uni ishlatish oson (faqat interfeysni amalga oshirish kifoya), ammo u sekinroq ishlaydi va serializatsiya jarayonida ko'proq ortiqcha yuk hosil qiladi.
-
Parcelable — Android uchun maxsus interfeys bo'lib, ma'lumotlarni yozish va o'qish uchun qo'lda metodlarni amalga oshirishni talab qiladi. U juda tez ishlaydi va samaraliroq bo'lib, Android komponentlari orasida obyektlarni uzatishda muhim (masalan,
IntentyokiBundleorqali).
Parcelable dan foydalanish misoli:
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);
}
}
Shuning uchun, Androidda obyektlarni uzatishda Parcelable dan foydalanish tavsiya etiladi, chunki u yuqori samaradorlikni ta'minlaydi.