2011-03-28 21 views
7

Estoy confundido para diferir entre el contexto y la actividad. ¿Qué es el contexto de todos modos? ¿El contexto pertenece a una actividad? ¿Cambiará el contexto si se cambia la actividad?¿Hay una actividad = un contexto?

Tengo un juego que tiene actividad múltiple. cada actividad para cada parte, pantalla emergente, menú, pantalla de juegos, etc. El problema es que tengo un SoundManager singleton que usa Soundpool como reproductor de sonido. Quiero cargar cada sonido en la pantalla de presentación. Pero después de pensarlo una vez más, ¿qué hay del contexto?

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

si cargo los sonidos en SplashScreen Activity, ¿cómo podría reproducir el sonido en GameScreen Activity? contexto diferente no es así?

Respuesta

8

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

En Android, un contexto se utiliza para muchas operaciones pero sobre todo para cargar y recursos de acceso. Esta es la razón por la cual todos los widgets reciben un parámetro Context en su constructor. En una aplicación normal de Android , generalmente tiene dos tipos de Contexto, Actividad y Aplicación .

Y desde the Android docs:

Permite el acceso a recursos específicos de la aplicación y clases, así como arriba-llamadas para las operaciones a nivel de aplicación, tales como actividades de lanzamiento, la radiodifusión y intentos de recepción, etc.

Normalmente cada actividad tendrá su propio contexto y la aplicación tendrá un contexto.

+0

Realmente no entiendo leer el artículo. ¿Qué condición podría causar pérdida de memoria? – Fugogugo

+1

El artículo en su conjunto no es relevante, simplemente la parte que resalté indica cómo se usa un contexto y cómo cada aplicación generalmente tiene 2 tipos de contexto: contexto de la actividad y contexto de la aplicación – brendan

Cuestiones relacionadas