Quelle est la différence entre les interfaces Serializable et Parcelable lors du transfert d'objets dans Android?
sobes.tech IA
Réponse de l'IA
Serializable et Parcelable sont des interfaces pour la sérialisation d’objets dans Android, mais elles ont des caractéristiques différentes :
-
Serializable : c’est l’interface standard de Java. Elle est simple à utiliser (il suffit d’implémenter l’interface), mais elle est plus lente et génère plus de surcharge lors de la sérialisation.
-
Parcelable : c’est une interface spécifique à Android qui nécessite une implémentation manuelle des méthodes pour écrire et lire les données. Elle fonctionne beaucoup plus rapidement et efficacement, ce qui est important pour transférer des objets entre les composants Android (par exemple, via
IntentouBundle).
Exemple d’utilisation de 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);
}
}
Ainsi, pour transférer des objets dans Android, il est préférable d’utiliser Parcelable en raison de ses performances.