В чем разница между активностью и контекстом?
активность и контекст одинаковы, или есть различия?
когда я должен иметь метод передать действие, и когда контекст?
2 ответа:
насколько я понимаю: контекст является базовым объектом. Так что каждый активность то же, что и приложение вытекает из контекста. Это означает, что каждое действие и каждое приложение является контекстом;
С
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 (т. е. в синглтоне), вам будет лучше использовать контекст приложения.
обычно на Android Framework методы, где ожидается контекст это не имеет никакого значения, какой из них вы проходите. Но будьте всегда в курсе MemoryLeaks если вы сохраняете долгоживущие ссылки на контекст
Как вы можете видеть на Android doc:
класс Activity простирается от "ContextThemeWrapper", и это один из "ContextWrapper", и что один из "контекста".
Итак, да, действие расширяет контекст!