Sobes.tech
Junior — Middle

Android-ში ობიექტების გადაცემისას Serializable და Parcelable ინტერფეისების შორის რა განსხვავებაა?

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 колдонуу сунушталат, анткени ал жогорку эффективдүүлүккө ээ.