Sobes.tech
Junior — Middle

Android-da obyektlərin ötürülməsi zamanı Serializable və Parcelable interfeysləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

SerializableParcelable Android-da obyektlərin seriyalash uchun interfeyslərdir, amma onlar fərqli xüsusiyyətlərə malikdir:

  • Serializable — Java üçün standart interfeysdir. İstifadəsi asandır (yalnız interfeysi həyata keçirmək kifayətdir), amma daha yavaş işləyir və serializasiya zamanı daha çox əlavə yük yaradır.

  • Parcelable — Android-ə xas interfeysdir və məlumatların yazılması və oxunması üçün metodların əl ilə həyata keçirilməsini tələb edir. O, çox daha sürətli və daha səmərəlidir, bu da Android komponentləri arasında obyektlərin ötürülməsi üçün vacibdir (məsələn, Intent və ya Bundle vasitəsilə).

Parcelable istifadə nümunəsi:

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);
    }
}

Bu səbəbdən, Android-da obyektləri ötürmək üçün Parcelable istifadə etmək tövsiyə olunur, çünki onun performansı daha yüksəkdir.