Android背景下的逻辑

时间:2014-04-10 12:09:04

标签: android

我已经阅读了许多教程,这些教程描述了获取Context的android各种选项之间的区别,但我仍处于混乱状态。 有没有问题如果我使用getApplicationContex()而不是getContext(),这个,getActivity()和getBaseContext()..在我的整个应用程序中?

许多人将此问题标记为重复。但我仍然没有得到任何人的满意答复。答案应该是“是”或“否”,如果是,那么正确的原因。

请再次查看我的问题。

有什么问题如果我使用getApplicationContex()而不是getContext(),这个,getActivity()和getBaseContext()等等......在我的整个应用程序中? 如果是..为什么?

2 个答案:

答案 0 :(得分:0)

大多数情况下,您获得的上下文是Activity而不是Application。 Here是一个 关于上下文的很好的解释。
据我所知,如果我需要与UI有关,我使用Activity上下文。

答案 1 :(得分:0)

Context是Android库中的主要基类。每个班级都延伸它。它就像Java Library中的Object类。

获取上下文有不同的方法

  • getApplicationContext():它指向应用程序的上下文。
  • getContext():它指向当前正在运行的组件。
  • getBaseContext():它是ContextWrapper的方法。 ContextWrapper是“代理Context的实现,它简单地将所有调用委托给另一个Context。可以子类化来修改行为而不改变原始Context。” (根据javadocs)。
  • this:它指向当前的Activity / BroardcastReceiver或Service的上下文。
  • getActivity():它指向当前正在运行的活动的Context。