I know that Activities
are designed to represent a single screen of my application, while Fragments
are designed to be reusable UI layouts with log
Why I prefer Fragment over Activity in ALL CASES.
Activity is expensive. In Fragment, views and property states are separated - whenever a fragment is in backstack
, its views will be destroyed. So you can stack much more Fragments than Activity.
Backstack
manipulation. With FragmentManager
, it's easy to clear all the Fragments, insert more than on Fragments and etcs. But for Activity, it will be a nightmare to manipulate those stuff.
A much predictable lifecycle. As long as the host Activity is not recycled. the Fragments in the backstack will not be recycled. So it's possible to use FragmentManager::getFragments()
to find specific Fragment (not encouraged).