Como mencionamos antes, o Android oferece suporte à serialização nativa do Java. Sua implementação não chega a ser tão eficiente quanto a do tipo Parcelable.

Implementar Serializable em um objeto não é uma forma eficiente, para o framework Android, de torná-lo empacotável. Em vez disso, objetos devem implementar Parcelable conforme demonstrado anteriormente.

Isso pode ser uma tarefa tediosa se a hierarquia de objetos for complexa, mas os ganhos em desempenho justificam a sua escolha.

O outro tipo que devemos evitar é o Map. Parcel não oferecer suporte a mapas em geral, apenas aqueles com chaves que sejam strings.

O tipo Bundle, específico do Android, fornece a mesma funcionalidade além de apresentar segurança de tipo. Objetos são adicionados a um Bundle com métodos como putDouble, putString, dentre outros, sendo que existe um método apropriado para cada tipo empacotável.

Métodos correspondentes como getDouble, getString, dentre outros, pegam os objetos de volta. Portanto, um Bundle é como um mapa, exceto pelo fato de que pode armazenar tipos diferentes de objetos para chaves distintas, implementando perfeitamente a segurança de tipos. Utilizando um Bundle, você elimina uma série de erros de difícil localização que podem ocorrer quando, por exemplo, um float serializado é interpretado erroneamente como um int.

Copyright © 2016 AIEC.