Назад к вопросам
Junior
69
questionbank
Что такое сериализация?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Преобразование объекта или структуры данных в формат, который можно легко хранить (например, в файл, память, базу данных) или передавать по сети. Десериализация — обратный процесс.
В Android сериализация часто используется для:
- Передачи данных между Activity или Fragment с помощью
IntentилиBundle. - Сохранения состояния Views (например, при повороте экрана).
- Кэширования данных.
- Обмена данными с удаленными серверами (JSON, XML).
Основные механизмы сериализации в Android:
Serializable: Простой в использовании, но медленный и создает много временных объектов. Является частью стандартной Java.Parcelable: Более быстрый и эффективный механизм, специфичный для Android. Требует больше бойлерплейт-кода для реализации.
// Пример Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Конструктор
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Реализация Parcelable
protected MyData(Parcel in) {
value = in.readInt();
text = in.readString();
}
public static final Creator<MyData> CREATOR = new Creator<MyData>() {
@Override
public MyData createFromParcel(Parcel in) {
return new MyData(in);
}
@Override
public MyData[] newArray(int size) {
return new MyData[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(value);
dest.writeString(text);
}
}