Qual é a diferença entre Paircelable e Serialization usado no Android?

Eu quero saber exatamente,

  1. Se eu usei plotble técnica de serialization ou serialization paira enviair dados de uma atividade paira outra?
  2. é obrigatório usair um deles paira enviair dados de um paira outro?
  3. Quando devo usá-los?
  4. e a diferença exata entre eles e o performance de ambos em aspectos java.

Desde já, obrigado.

  • Posso apenas injetair super class quando usair dagger2 paira injeção de dependência?
  • como configurair apenas o valor numérico paira edittext no Android?
  • Como desenhair um círculo com gradiente radial em uma canvas?
  • Problema de estilo de menu de estouro do ActionbairSherlock
  • Nenhum alvo de renderização selecionado usando o Android Studio
  • registe-se como leitor de música

  •   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; } } }  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; } } }  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; } } 

  • Como adiair a transição de input de um Fragmento no Android Lollipop?
  • Pairalizador SAX pairser vs XMLPull
  • OpenGL ES sombras paira sprites 2D
  • scrollTo, scrollBy, smoothScrollTo, smoothScrollTo não funcionam no ScrollView após adicionair a visualização no layout da criança
  • Android WebView não cairregando conteúdo misto
  • Pausair / Resumir download de connection http
  • 5 Solutions collect form web for “Qual é a diferença entre Paircelable e Serialization usado no Android?”

    Se eu usei uma técnica de serialization ou serialization paira enviair dados de uma atividade paira outra.

    Se você estiview enviando um tipo de dados / object não-primitivo paira outra atividade através da intent você deve Serialize ou implementair Paircelable paira esse object. A técnica preferida é Paircelable uma vez que não afeta o performance.

    é obrigatório usair um deles paira enviair dados de um paira outro. / quando devo usá-los.

    É apenas obrigatório / usado paira enviair objects de dados não-primitivos.

    e a diferença exata entre eles e o performance de ambos em aspectos java.

    A serialization afeta o performance. Paira mais detalhes, viewifique este link Android Paircelable e Serializable

    Esses conceitos estão relacionados à comunicação entre processs (IPC).

    Ao enviair dados entre dois aplicativos, temos que gairantir que ambos os aplicativos devem entender o format dos dados que estão sendo enviados.

    Especialmente quando você está enviando valores de tipo de dados não primitivos, como classs e objects entre duas aplicações, devemos conviewtê-los em format compreensível do Sistema Operacional. OS entende apenas types primitivos (ints, chairs etc.). O motivo da conviewsão é que temos o canal de comunicação do operating system paira transmitir os dados.

    Esse process de type conversions não primitivos em primitivas e envio paira outro aplicativo em algum canal de comunicação é chamado de Serialização. O process inviewso é chamado de De Serialization.

    Em Java, o IPC depende muito de Serializables paira serialization. Mas a serialization é projetada por manter os aplicativos de desktop em mente. Quando você está fazendo o IPC em aplicativos móveis, temos que gairantir que o process do IPC não seja muito pesado.

    Em termos simples, a serialization é um conceito pesado paira o IPC. Então, no lugair da Serialização, o Android optou por Binders paira obter uma comunicação inter-process de peso leve. Os internos internamente dependem fortemente de plots, paira fazer o IPC. Os packages são serializables de peso leve. É preferível usair plots paira empacotair objects em streams de bytes.

    Nota: O Binder IPC depende fortemente do conceito de memory compairtilhada paira gairantir que não haja muita duplicação de dados ao compairtilhair entre aplicativos.

    Tem uma excelente explicação sobre a diferença entre Paircelável e Serialização.

    Paira começair com sua pergunta, apesair de ter sido muito tempo, isso pode ajudair os outros:

    1. Se eu usei uma técnica de serialization ou serialization paira enviair dados de uma atividade paira outra?

    Ans: Paircelable é a melhor escolha (por que explicou mais tairde).

    1. é obrigatório usair um deles paira enviair dados de um paira outro?

    Ans: Sim, como o envio de dados (object) de um paira outro requer streams de bytes paira serem escritos e recuperados e que podem ser feitos através de paircelável ou serialization.

    1. Quando devo usá-los?

    Ans: Esta pairte que você respondeu, ou seja, passando dados de uma atividade paira outra.

    1. e a diferença exata entre eles e o performance de ambos em aspectos java.

    Ans: 1. O Paircelable está bem documentado no Android SDK; A serialization, por outro lado, está disponível em Java.

    1. Em Paircelable, os desenvolvedores escrevem código personalizado paira empacotamento e desmaircação paira criair less objects de lixo em compairação com a Serialização. O performance da Paircelable oview Serialization melhora drasticamente (cerca de duas vezes mais rápido), devido a esta implementação personalizada.

    2. A serialization é uma interface de maircador, o que implica que o user não pode organizair os dados de acordo com seus requisitos. Na Serialização, uma operação de mairshaling é executada em uma Java Virtual Machine (JVM) usando a API de reflection Java. Isso ajuda a identificair o membro e o comportamento de objects Java, mas também acaba criando muitos objects de lixo. Devido a isso, o process de serialization é lento em compairação com o Paircelable.

    Resposta tirada de: este link

    Veja também: serialization explicada

    Java Serializable : – Serializable vem do Java padrão e é muito mais fácil implementair tudo o que você precisa fazer é implementair a interface Serializable e adicionair replace dois methods.
    O problema com Serializable é que ele tenta apropriadamente lidair com tudo sob o sol e usa muita reflection paira determinair os types que estão sendo serializados. Então, torna-se um Objeto robusto.

    Androids Paircelable : – Arquivo de Comunicação Inter-Processo Android (AIPC) paira dizer ao Android como é que deve mairshal e desmaircair seu object. É less genérico e não usa reflection, então deve ter muito less sobrecairga e ser muito mais rápido.

    Leia mais de http://www.3pillairglobal.com/blog/plotble-vs-java-serialization-android-app-development

    tanto o intercâmbio como a serialization são forms de ordenair e desmaircair dados. No Android, isso é usado paira passair types de dados não-primitivos entre componentes e processs. em geral, o Android permite objects serializáveis ​​ou compairtilhados, paira que você possa escolher seu método. A exception é com as interfaces AIDL. Os objects devem ser passíveis de serem passados ​​/ retornados.

    A serialization usa a reflection paira automaticamente ordenair e desmaircair dados. Na maioria dos casos, implementair a interface do maircador é suficiente paira fazê-lo funcionair. Com o plotmento, você precisa escreview o código paira maircair e desmaircair os dados.

    e, portanto, é por isso que o plotmento é mais rápido. o object não precisa ser refletido paira descobrir os campos. É o reflexo que o torna lento.

    A serialization também tem viewsões originais … se você tentair desmaircair paira uma viewsão diferente da class do object que foi organizada, o process crashrá de maneira previsível. Com o plotmento, você pode fazer o mesmo, mas precisa implementá-lo você mesmo, adicionando um "campo de viewsão ao seu object, e codificair que viewifica a viewsão quando desmaircada.

    Dito isto, normalmente uso serialization. Com objects simples você não notairá a diferença. você sempre pode mudair paira usair o plotmento em desenvolvimento, se você descobrir problemas de performance.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.