Por que meu fragmento onCreate sendo chamado extensivamente sempre que eu folheio meus aplicativos viewPager?

Não estou entendendo muito bem esse negócio de ciclo de vida de fragmentos.

Eu tenho um layout de pager de visualização de controle deslizante horizontal de 3 páginas padrão para uma seção "detalhes da visualização" do meu aplicativo. Eu começo meu aplicativo na página do meio dos três. Minha FragmentActivity define a página para a página 1.

mPager.setCurrentItem(1); //default to center page, current data view fragment

Eu tenho usado o FragmentStatePagerAdapter porque usar o FragmentPagerAdapter travou meu aplicativo às vezes, quando voltava de um estado suspenso, por exemplo, e essa era a maneira mais rápida de contornar isso por enquanto. Parece funcionar, mas eu suspeito que o aspecto do Estado é o que pode ser a causa do meu problema aqui, talvez.

Então, no começo, pensei que cada fragmento faria o trabalho de obter dados de um serviço de descanso e depois mostrá-lo em uma lista, mas não tenho mais a certeza.

Eu tentei executar uma tarefa assíncrona exclusiva para buscar dados em cada um dos fragmentos de eventos onCreateView. Em seguida, depois de ler mais sobre o ciclo de vida do fragmento, mudei para onCreate, percebendo que o onCreateView estava sendo chamado bastante, o que, por sua vez, fazia com que um aplicativo ganancioso solicitasse muitos dados por fio.

Mudar para onCreate não mudou nada. OnCreate ainda está recebendo chamadas tanto quanto onCreateView para os 2 fragmentos adjacentes.

O curioso é que o fragmento que eu configurei para ser o primeiro a ser exibido em Fragment Activity apenas recebe o onCreate chamado de uma vez.

Algo não parece certo aqui.

No momento, estou pensando que devo declarar a atividade de fragmento pai e chamar todas as tarefas assíncronas para buscar os dados que preciso exibir nos fragmentos. Defina os resultados das chamadas assíncronas em um objeto de propriedade da atividade de fragmento pai e, em seguida, faça com que os fragmentos usem o objeto contido pelo pai para criar a exibição de lista, etc.

Mas e se as tarefas assíncronas iniciadas pela atividade pai não terminarem antes de cada fragmento ser chamado onCreateView e o objeto contido pelo pai ainda não estiver pronto .....

assinado, confuso e frustrado

questionAnswers(2)

yourAnswerToTheQuestion