Ի՞նչ տարբերություն կա 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, քանի որ այն ավելի արդյունավետ է։