Por que Atividade está pendurada enquanto volta dos poucos fragmentos de outra atividade?

Eu tenho duas atividades Atividade A e B, a atividade A tem 3 fragmentos a1, a2 e a3. a3 é o fragmento selecionado padrão que mostra vídeos, a2 contém um grande textView e um pequeno edittext e a1 contém um listview.

Agora na barra de título da atividade A eu tenho um botão, e como está na barra de título, é visível de todos os 3 fragmentos. Ao clicar neste botão eu abro a Atividade B. usando a função Following.

public void inviteUser() {
    if ( getUserType() == ACTIVE ) {
        Intent intent = new Intent(this, B.class);
        intent.putExtra(Constants.MEETING_ID, (long) session.getSessionId());
        intent.putExtra(Constants.INVITE_FROM_SESSION, true);
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        this.startActivityForResult(intent, RESULT_OK);
    } else {
        Toast.makeText(this, getString(R.string.strNotAPresenterMsg), Toast.LENGTH_LONG).show();
    }
}

Dentro B eu chamo a suasetResult(ResultCode) and finish(). Agora eu tenhodois problemas quando euinicie B dos Fragmentos a1 e a2,

1. B leva muito tempo antes de retornar a A (isto é, depois de pressionar o botão Voltar ou depois de terminar o trabalho de B), 2. Ele não mostra nenhum diálogo após retornar até eu navegar para algum outro fragmento ou eu girar o botão. dispositivo, uma vez que eu faço isso começa a se comportar normalmente e surpreendentemente,

quando eu começo a atividadeB do fragmento a3, Ele retorna imediatamente e se comporta normalmente.

Eu tentei substituir todos os métodos de ciclo de vida desses fragmentos e colocar as instruções de log dentro de cada método. Dor é que a sequência de chamada de método é normal e igual para ambos os casos.

Eu tentei mudar as bandeiras da intenção, mas sem ganho.

Eu adicionei o falgandroid:configChanges="keyboardHidden|orientation" para todas as atividades do meu aplicativo.

Espero ter explicado o problema, no caso de alguém precisar de alguma parte específica do código. por favor comente. Vou editar a questão e acrescentar isso. Ajude vcs !!!

EDITAR Eu estava testando no GingerBread 2.3.6 não estava funcionando, mas acabei de verificar isso no emulador rodando JellyBean e ele está funcionando bem. Parece que o problema está relacionado à versão do sistema operacional. Qualquer ideia ?

EDIT 2 Um ponto importante de observação é que, quando em B, pressiono o botão voltar, após alguns mili segundos, o onResume () da Activity anterior e seus fragmentos são chamados. Mas mesmo depois que B está na tela há algum tempo e parece que o telefone ficou pendurado por alguns segundos ....

EDITAR 3 Só tenho que saber que onStop () e OnDestroy () de B não são chamados quando eu inicio o B do Fragmento a1 ou a2. No entanto, eles são chamados perfeitamente quando estou na a3. Qual poderia ser a razão disso?

O documento diz que "O tempo de vida visível de uma atividade acontece entre uma chamada para onStart () até uma chamada correspondente a onStop (). Durante esse tempo, o usuário pode ver a atividade na tela, embora ela não esteja em primeiro plano e interagindo com o usuário. "

Como onStop () não é garantido, a atividade se comporta de maneira anormal quando não é chamada. Também vim a saber que nos dispositivos HoneyComb + ela é sempre chamada. Eu tentei chamar onStop () dentro onPause (), mas isso não está funcionando. O que faço agora ?

questionAnswers(1)

yourAnswerToTheQuestion