Использование ViewPager кэширует фрагменты после поворота экрана?

Сначала я создаю свои фрагменты в Activity onCreate(). Затем я создаю ViewPager и настраиваю адаптер. Я сохраняю глобальную ссылку на фрагменты, чтобы обновлять их по мере необходимости. Также к этим фрагментам обращается адаптер.

Моя проблема в том, что я заметил, что при повороте экрана фрагменты создаются заново, но ViewPager по-прежнему содержит оригинальные фрагменты...?

Как я должен обрабатывать жизненный цикл моего фрагмента? Мне нужно иметь возможность обращаться непосредственно к фрагменту из активности. Является ли синглтон для фрагмента хорошей идеей? Или это просто утечка памяти?

protected void onCreate (Bundle savedInstanceState)
{
...
...
        // set up cards
        mFrag1 = new Frag1();
        mFrag1.setOnActionEventListener(mOnActionEvents);

        mFrag2 = new Frag2();
        mFrag3 = new Frag3();

        mFragPager = (ViewPager) findViewById(R.id.vpPager);
        mFragAdapter = new FragAdapter(getSupportFragmentManager());
        mFragPager.setAdapter(mCardAdapter);
        mFragPager.setOnPageChangeListener(mOnCardChange);
}
5
задан Jona 20 November 2011 в 21:11
поделиться