Все нижеследующее из головы, так что могут быть неточности:
Состояние фрагментов, так же как и активити, можно сохранять в методе onSaveInstanceState и восстанавливать его при новом запуске. Тонкость в том, что это должен быть фрагмент с тем же ID, иначе onCreate() не "увидит" сохраненное состояние, и ID это не задается вручную. Потому фрагменты не надо явно уничтожать и при повторном создании надо проверять их наличие с помощью findFragmentByTag().
Вообще фрагменты довольно живучи, их система пересоздает даже если активити была уничтожена и запущена заново, так что я бы рекомендовал попробовать сохранить состояние в onSaveInstanceState и восстановить в onCreate().