Лучший способ увидеть разницу - увидеть иерархию классов
Активность
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
И Приложение
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
Приложение - это то, что живет до тех пор, пока процесс вашего приложения для Android не будет убит.Вы можете использовать это для хранения специфичных для Приложения данных (при условии, что ваше приложение живо), которые могут использоваться для различных действий.Примечание. Я не говорю, что вы должны ... Общие предпочтения могут быть другим подходящим способом в зависимости от вашего варианта использования.Также просто для ясности вы не можете использовать свое приложение для запуска приложения в отличие от активности запуска, которую вы указываете в файле манифеста.
Вы можете использовать свой собственный класс приложения следующим образом:
<application
android:name="icom.osfg.test.app.AppController"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
<!-- all the activities goes here -->
</application>
, где
AppController extends Application