I am confused as to the difference between the two. In my application I have just used Extends Activity and the application is working perfectly, so what is the purpose of E
Just to add to the previous answers.
The Application
class will be a singleton that will live as long as your app is alive.
You could initialize global components in your Application
extended class since it will last until your process die if you don't want to handle with the usual Activity
lifecycle.
For example, initialization of third party libraries like: Parse, CanaryLeak, Crashlytics.
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Parse.initialize(this);
LeakCanary.install(this);
Fabric.with(this, new Crashlytics());
}
}