Junior — Middle
Android'de nesneleri aktarırken Serializable ve Parcelable arayüzleri arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Serializable ve Parcelable, Android'de nesnelerin serileştirilmesi için arayüzlerdir, ancak farklı özelliklere sahiptirler:
-
Serializable: Java'nın standart arayüzüdür. Kullanımı basittir (sadece arayüzü uygula), ancak daha yavaş çalışır ve serileştirme sırasında daha fazla ek yük oluşturur.
-
Parcelable: Android'e özgü bir arayüzdür ve veri yazma ve okuma yöntemlerinin manuel olarak uygulanmasını gerektirir. Çok daha hızlı ve etkilidir, bu da nesnelerin Android bileşenleri arasında aktarımı için önemlidir (örneğin,
IntentveyaBundlearacılığıyla).
Parcelable kullanımı örneği:
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 nedenle, Android'de nesneleri iletirken Parcelable kullanmak performans açısından daha avantajlıdır.