Методы жизненного цикла класса Application

1
— Именно здесь можно разместить код, который будет управлять глобальными данными, важными для работы нескольких активностей. Но лучше держать как можно больше информации в базе данных, а не в памяти.
            @Override
            public void onCreate(Bundle savedState) {
                super.onCreate(savedState);
                ...
            }
2
— Закрывается приложение. Можно что-то сделать на последок: установить/снять флаги в БД.
                @Override
                protected void onTerminate() {
                    ...
                }
3
— Утечка памяти. Никакого кэширования и больших массивов сделать не получится
                @Override
                protected void onLowMemory() {
                    ...
                }
4
— Что то изменилось. Подсоединили клавиатуру, изменили шрифт, дату, время..., повернули устройство
                @Override
                protected void onConfigurationChanged(Configuration newConfig) {
                    super.onConfigurationChanged(newConfiguration);
                    ...
                }