And*_*oid 86 android android-context android-activity
活动和上下文是一样的,还是存在差异?
我什么时候应该有一个方法传递一个Activity,当一个Context?
Raf*_*l T 109
据我所知: Context是基础对象.因此, 与Application相同的每个Activity都来自Context.这意味着每个Activity和每个Application都是一个Context;
来自Application 活动
java.lang.Object
? android.content.Context
? android.content.ContextWrapper
? android.view.ContextThemeWrapper
? android.app.Activity
Run Code Online (Sandbox Code Playgroud)
和应用
java.lang.Object
? android.content.Context
? android.content.ContextWrapper
? android.app.Application
Run Code Online (Sandbox Code Playgroud)
只要您的应用程序处于活动状态,应用程序上下文就会持续,而活动上下文会因您的活动而死亡(在Context该活动之后无效).
因此,如果您需要跨活动的Context(即在Singleton中),您将更好地使用Application上下文.
通常在需要上下文的Android Framework方法中,您传递的方法没有区别.但是如果要保持对上下文的长寿命引用,请始终注意MemoryLeaks
正如您在Android doc上看到的那样:
Activity类从"ContextThemeWrapper"扩展而来,这个来自"ContextWrapper",而来自"Context".
所以,是的,一个活动扩展了上下文!
| 归档时间: |
|
| 查看次数: |
36260 次 |
| 最近记录: |