Почему мой фрагмент onCreate часто вызывается всякий раз, когда я просматриваю мои приложения viewPager?

Я не совсем понимаю этот бизнес жизненного цикла фрагмента.

У меня довольно стандартный трехстраничный горизонтальный слайдер с видом макета пейджера для просмотра подробностей. раздел моего приложения. Я запускаю свое приложение на средней странице трех. Моя FragmentActivity устанавливает страницу на страницу 1.

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

Я использовал FragmentStatePagerAdapter, потому что использование FragmentPagerAdapter иногда приводило к сбою моего приложения, например, когда он возвращался из приостановленного состояния, и на данный момент это был самый быстрый способ обойти это. Кажется, работает, но я подозреваю, что государственный аспект, возможно, является причиной моей проблемы здесь.

Поэтому сначала я подумал, что каждый фрагмент будет выполнять работу по получению данных из службы отдыха и затем отображать их в списке, но я больше не уверен в этом.

Я попытался запустить уникальную асинхронную задачу для извлечения данных в каждом из фрагментов событий onCreateView. Затем, прочитав больше о жизненном цикле фрагмента, я переключился на onCreate, заметив, что onCreateView вызывается довольно сильно, что, в свою очередь, создало жадное приложение, которое слишком часто запрашивало данные по проводам.

Переключение на onCreate ничего не изменило. OnCreate по-прежнему вызывается так же, как onCreateView для 2 смежных фрагментов.

Странно то, что фрагмент, который я установил как первый, который будет отображаться в Fragment Activity, вызывает onCreate только один раз.

Что-то здесь не так.

Прямо сейчас я думаю, что мне нужно объявить родительский фрагмент активности и вызвать все асинхронные задачи для получения данных, которые мне нужно отобразить во фрагментах. Установите результаты асинхронных вызовов в объекте, принадлежащем активности родительского фрагмента, а затем попросите фрагменты использовать объект, содержащийся в родительском фрагменте, для создания представления списка и т. Д.

Но что, если асинхронные задачи, запущенные родительским действием, не завершаются до вызова каждого фрагмента onCreateView и объект, содержащийся в родительском действии, еще не готов .....

подписанный, смущенный и разочарованный

Ответы на вопрос(2)

Ваш ответ на вопрос