一个Activity是一个Context吗?

时间:2011-03-28 03:24:21

标签: android android-activity

我对上下文和活动之间的区别感到困惑。什么是背景呢?上下文属于一个活动吗?如果活动发生变化,背景会发生变化吗?

我有一个有多项活动的游戏。每个部分的每个活动,闪屏,菜单,游戏屏幕等。 问题是我有一个单独的SoundManager,它使用soundpool作为它的声音播放器。我想在启动画面中加载每个声音。但在我再次思考之后,上下文怎么样?

   public void loadSound(Context context, int resId, String name) {
        int id = sounds.load(context, resId, priority)
    }

如果我在SplashScreen Activity中加载声音,我怎么能在GameScreen Activity中播放声音?不同的背景不是吗?

1 个答案:

答案 0 :(得分:8)

Per:http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

  

在Android上,Context被用于许多人   操作但主要是加载和   访问资源。这就是为什么所有的   窗口小部件接收Context参数   他们的构造函数。在常规   Android应用程序,你通常有   两种Context,Activity和   应用

来自the Android docs

  

它允许访问   特定于应用程序的资源和   课程,以及上调   应用程序级操作,如   发起活动,广播和   接受意图等。

通常每个Activity都有自己的Context,而Application本身也有Context。