Activity. But be ready to change UI by hand. 2. Retained Fragment (Google says that it will be deprecated) 3. Save data by pack it to Bundle in onSaveInstanceState(outState: Bundle) 4. ViewModel
from arguments, bundle for save instance and arguments. --------------------------------Very big iterations of pain and blood-------------------------------- 2. The end of this magic is -> void onActivitySaveInstanceState(Activity activity, Bundle outState); in Application class
https://developer.android.com/topic/libraries/architecture/viewmodel-savedstate Medium Resource: https://proandroiddev.com/saving-ui-state-with-viewmodel-savedstate-and-dagger-f77bcaeb8b0 8