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.
Isso pode ser uma tarefa tediosa se a hierarquia de objetos for complexa, mas os ganhos em desempenho justificam a sua escolha.
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.