Dlaczego mój fragment naCreate jest szeroko wywoływany za każdym razem, gdy przeglądam moje aplikacje viewPager?

Nie do końca rozumiem ten cykl życia fragmentu.

Mam dość standardowy 3-stronny poziomy widok układu Pager dla sekcji „szczegóły widoku” mojej aplikacji. Uruchomię moją aplikację na środkowej stronie tych trzech. My FragmentActivity ustawia stronę na stronę 1.

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

Korzystałem z FragmentStatePagerAdapter, ponieważ używanie FragmentPagerAdapter czasami powodowało awarię mojej aplikacji, na przykład po powrocie ze stanu zawieszenia, i to był najszybszy sposób na obejście tego problemu. Wydaje się działać, ale podejrzewam, że aspekt państwa może być przyczyną mojego problemu tutaj.

Więc na początku myślałem, że każdy fragment wykona pracę polegającą na pobieraniu danych z usługi odpoczynku, a następnie pokazaniu jej na liście, ale nie jestem już taki pewien.

Próbowałem uruchomić unikalne zadanie asynchroniczne, aby pobrać dane w każdym z fragmentów zdarzeń onCreateView. Następnie po przeczytaniu więcej informacji o cyklu życia fragmentów przełączyłem się na onCreate, zauważyłem, że onCreateView jest nazywany dość mocno, co z kolei spowodowało zachłanną aplikację, która zbyt często żądała danych przez przewód.

Przełączenie na onCreate niczego nie zmieniło. OnCreate wciąż nazywa się tak samo jak onCreateView dla 2 sąsiadujących fragmentów.

Dziwne jest to, że fragment, który ustawiłem jako pierwszy, który wyświetli się w Dziale fragmentów, pobiera tylko jeden onCreate.

Coś tu nie jest.

W tej chwili myślę, że powinienem zadeklarować aktywność fragmentu rodzica i wywołać wszystkie zadania asynchroniczne, aby pobrać dane, które muszę wyświetlić w tych fragmentach. Ustaw wyniki wywołań asynchronicznych w obiekcie należącym do aktywności fragmentu nadrzędnego, a następnie utwórz fragmenty z obiektu zawartego przez rodzica, aby utworzyć widok listy itp.

Ale co się stanie, jeśli zadania asynchroniczne uruchomione przez aktywność nadrzędną nie zakończą się przed wywołaniem każdego fragmentu onCreateView, a obiekt zawarty przez rodzica nie jest jeszcze gotowy .....

podpisany, zdezorientowany i sfrustrowany