Qual é a diferença entre Parcelable e Serialization usado no Android

Eu quero saber exatamente

se devo usarparcelable ouserialization técnica para enviar dados de uma atividade para outra?É obrigatório usar um deles para enviar dados de um para outro?quando devo usá-los?e a diferença exata entre eles e o desempenho de ambos em aspectos java.

Desde já, obrigado.

 public class GetSetClass implements Serializable {
    private int dt = 10;

    /** pass any object, drwabale */
    public int getDt() {
        return dt;
    }

    public void setDt(int dt) {
        this.dt = dt;
    }
}

questionAnswers(5)

yourAnswerToTheQuestion