Got an app using activities that you want to convert to using fragments?
We’ll show you how easy it is to convert activity apps to fragment apps. It’s no big deal.
An activity is destroyed and recreated when a device’s configuration changes.
Usually the activity’s lifecycle takes care of saving and restoring its state. Sometimes you may need to restore lots of data. This could take some time resulting in a bad user experience.
Here’s where you can use fragments to retain an instance of your data. You can then get the data out of the fragment and rebuild your activity, super fast!
Be careful not to save objects that are tied to the activity; such as drawables, adapters, views or any other objects associated with a context. They’ll cause memory leaks – the object keeps a reference to the context (the activity for example), so it will remain in memory, leaving less for your app to use.
Have a look how easy it is to use a fragment to save an Object during a configuration change!
We only have one activity in our app. It hosts the fragments.
If you haven't already done so, have a look at :
We’re using the support library so make sure that you import the correct class:
Our tutorial app has one activity and two fragments. One fragment contains a list and the other an image.
Running the app on a small device in portrait mode, displays the list fragment. Selecting an item in the list displays the second fragment containing an image.
Flipping the device to landscape displays both fragments side by side.
Running the app on a tablet displays the fragments side by side in both portrait and landscape mode.
Think of components like buttons and images. You can reuse them over and over in different activities. You can also rearrange them within an activity.
Fragments are similar.
Fragments let you divide your activity into reusable components which have their own User Interface and lifecycle.