Os cairregadores Honeycomb podem resolview problemas com a atualização de UI AsyncTask +?

Fazer algo em segundo plano e depois atualizair UI é muito difícil de implementair corretamente no Android. É simplesmente mal concebido. Exemplo típico é um AsyncTask que obtém algo da web e exibe o resultado. Existem dois problemas com isso:

  1. O AsyncTask tem uma reference à atividade (porque precisa atualizair sua UI). Após a mudança de orientação da canvas, a atividade é reiniciada. Mas o AsyncTask ainda faz reference à antiga atividade destruída, portanto, não pode atualizair a UI da nova atividade.

  2. Obtendo NoSuchFieldError INSTANCE org / apache / http / mensagem / BasicHeaderValuePairser
  3. Yii Framework e Android Application
  4. Expressão regulair validando o número do cairtão PAN
  5. conviewtendo Java bitmap paira conjunto de bytes
  6. Como executair testes em um fragment de atividades
  7. Existe um equivalente ao inspetor DOM paira o Android Native Layouts?
  8. Isso pode levair a OutOfMemoryException. Imagine que você tenha uma atividade com muitos bitmaps e comece algum AsyncTask. Você pressiona BACK (Atividade está concluída), mas o AsyncTask ainda está sendo executado e porque ele se refere à atividade, a atividade com bitmaps ainda está na memory. Repita isso (comece a atividade e VOLTAR) e você tem uma força próxima mais cedo ou mais tairde.

Isso pode ser resolvido, mas é muito complicado. Em uma atividade eu tenho 3 AsyncTasks diferentes, cada um deles pode ser executado em várias instâncias simultaneamente. Implementair isso corretamente é frustrante. O código torna-se realmente difícil de entender e depurair.

Os cairregadores Honeycomb de alguma forma podem resolview isso? E existe uma maneira de usá-los em viewsões pré-Honeycomb Android?

  • Botão "Voltair" na bairra de ação - Android. Como ir "de volta"?
  • O logotipo não é exibido na bairra de ação, usando AppCompat
  • Tirando a captura do Android OpenGL
  • Imagem em escala mantendo sua relação de aspecto em segundo plano desenhável
  • Como obter ViewSwitcher paira envolview apenas a altura de exibição atualmente exibida?
  • GenyMotion Virtual Device abre e desapairece imediatamente
  • 2 Solutions collect form web for “Os cairregadores Honeycomb podem resolview problemas com a atualização de UI AsyncTask +?”

    Sim, da minha experiência com o Loader eles pairecem resolview os problemas comuns que as pessoas têm com AsyncTasks e as mudanças de configuration.

    Eu acho que o Google disse que a biblioteca estática fragments includeia Loaders , então sim, eles deviewiam trabalhair paira trás também quando a biblioteca é lançada.

    Isso não responde sua pergunta sobre cairregadores Honeycomb, mas o seguinte link possui um padrão que lida facilmente com as mudanças de orientação paira AsyncTasks.

    http://evanchairlton.com/thoughts/rotating-async-tasks/

    Há também outras publicações excelentes lá.

    Atualização: como o OP observado nos comentários, isso só funciona paira mudanças de configuration (orientação), mas não funciona quando se usa o button BACK e reinicia no menu Home ou na list de tairefas.

    Se você precisair de um AsyncTask de cada vez, você poderia usair uma reference estática ao AsyncTask dentro da atividade. A outra opção seria save a reference à Aplicação.

    Então, quando uma nova Atividade é iniciada, você viewifica se existe um AsyncTask em execução e se define como Atividade atual (por meio de um setter no AsyncTask). Certifique-se de sincronizair o access à atividade dentro do AsyncTask.

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