Сериализация — это процесс преобразования объекта в поток байтов для его сохранения (например, в файл, базу данных) или передачи по сети. Десериализация — обратный процесс восстановления объекта из потока байтов.
В Android это часто используется для:
onSaveInstanceState).Intent (с помощью putExtra).В Android доступны два основных механизма сериализации:
Serializable:
Parcelable.TextView) неcериализуемы.java
Parcelable:
Serializable в Android.writeToParcel, createFromParcel).java
Сравнение:
| Характеристика | Serializable | Parcelable |
|---|---|---|
| Интерфейс | java.io.Serializable | android.os.Parcelable |
| Производительность | Медленнее | Быстрее |
| Легкость реализации | Проще | Требует больше кода |
| Использование | Общее Java, сохранение объектов | Предпочтительно для Android IPC |
| Размер | Больше накладных расходов | Меньше накладных расходов |
В Android чаще рекомендуется использовать Parcelable для повышения производительности. Существуют плагины и инструменты, упрощающие генерацию кода для Parcelable.