В чем разница между Activity и Context?
Являются ли действия и контексты одинаковыми или существуют различия?
Когда мне нужно, чтобы метод передавал действие и когда был контекст?
- ViewPager wrap_content не работает
- Как передать переменную от Activity to Fragment и передать ее обратно?
- Начать работу внутри onReceive BroadcastReceiver
- Текст Android-центра на canvasе
- Доступ к SharedPreferences с помощью статических методов
- Android: использование WebView вне контекста активности
- Вызов функции startActivity () извне контекста активности
- Как передать объект из одного действия в другое на Android
- Передача массивов с помощью Intent.putExtra
- Android: действие будет уничтожено после вызова камеры Intent
- Как отключить изменение ориентации на Android?
- Начать операцию из fragmentа
- Активность kill / onCreate вызвана после съемки с помощью намерения
Насколько я понимаю: Контекст – это базовый объект. Таким образом, каждое действие, такое же, как приложение, происходит из контекста. Это означает, что каждое действие и каждое приложение являются контекстом;
От developer.android.com
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
Контекст приложения длится до тех пор, пока ваше приложение остается в живых, в то время как контекст активности умирает с вашим действием (он недействителен после onDestroy
этого действия).
Поэтому, если вам нужен Контекст через Activitys (т.е. в Singleton), вам лучше использовать контекст приложения.
Обычно на основе методов Android Framework, где ожидается контекст, не имеет значения, какой из них вы передаете. Но будьте всегда в курсе MemoryLeaks, если вы держите долгоживущие ссылки на контекст
Как вы можете видеть в документе Android :
Класс Activity распространяется от «ContextThemeWrapper», а этот – от «ContextWrapper», а другой – от «Контекста».
Итак, да, действие расширяет контекст!