活动和上下文是否相同,还是存在差异?
我什么时候应该让一个方法传递一个活动,何时一个上下文?
Answers:
据我了解:
上下文是基础对象。因此,每个 与Application相同的Activity都来自Context。这意味着每个活动和每个IS都是一个;Application
Context
来自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
只要您的应用程序处于活动状态,Application上下文就会持续存在,而Activity上下文随您的Activity一起消失(在onDestroy
该Activity 之后无效)。
因此,如果您需要跨活动的上下文(即在Singleton中),那么使用Application上下文会更好。
通常在需要上下文的Android Framework方法上,传递的内容没有区别。但是,如果要保留对上下文的长期引用,请始终注意MemoryLeaks