You can use Fragment without UI to persist data between activity re-creation. You must call setRetainInstance(true)
to tell the framework to keep this fragment around during a configuration change. So after configuration change activity will be re-created but this fragment will stay in the previous state with all your data. Very good article on this topic: http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html
"Ever since the introduction of Fragments in Android 3.0, the recommended means of retaining active objects across Activity instances is to wrap and manage them inside of a retained "worker" Fragment. By default, Fragments are destroyed and recreated along with their parent Activitys when a configuration change occurs. Calling Fragment#setRetainInstance(true) allows us to bypass this destroy-and-recreate cycle, signaling the system to retain the current instance of the fragment when the activity is recreated."