Почему мой фрагмент 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 и объект, содержащийся в родительском действии, еще не готов .....
подписанный, смущенный и разочарованный