Я смотрю на некоторый демонстрационный код, который показывает, как использовать адаптер фрагмента (адаптер адаптера в данном случае). Мне любопытно, что именно делает метод instantiate()
. Я вижу это использованный в следующем демонстрационном коде на этой странице:
http://developer.android.com/reference/android/support/v4/view/ViewPager.html
(см. Метод getItem()
в классе TabsAdapter
)
Если я правильно читаю демонстрационный код, каждый раз, когда пользователь нажимает на одну из вкладок, создается новый фрагмент? И, таким образом, фрагмент снова начинает весь жизненный цикл (onAttach()
... onCreate()
... и т. Д.)? Это звучит ужасно неэффективно. Я думаю, что фрагмент, который будет представлять содержимое для каждой вкладки, должен создаваться только один раз (возможно, в методе addTab()
), а затем сохраняться в некоторой коллекции, где его можно получить при вызове getItem()
.
Пожалуйста, поправьте меня, если я ошибаюсь в этом. Я пытаюсь лучше понять, как управлять фрагментами.