O objetivo deste módulo foi apresentar o modo como o Android consegue preservar (gravar e ler) o estado de um aplicativo por meio da serialização que, no caso do sistema Android, pode ser implementada por duas formas: Serializable ou Parcelable. A serialização é a conversão de dados de uma representação rápida, eficiente e interna em algo que possa ser mantido em um armazenamento persistente ou transmitido por uma rede. O ambiente Android aborda quatro usos comuns da serialização: Gerenciamento do ciclo de vida, Persistência, Comunicação entre Processos e Comunicação em Rede.
Um objeto deve atender a três requisitos para que possa ser serializado por meio do Parcelable: ele deve implementar a interface Parcelable; ele deve ter um serializador (uma implementação da operação da interface writeToParcel); ele deve ter um desserializador (uma variável final, estática e pública de nome CREATOR, que contenha uma referência a uma implementação de Parcelable.Creator).
Não se esqueça que o Parcelable, forma nativa do Android, é a forma preferida, basicamente, por motivos de possuir um melhor desempenho.