2011-12-14 28 views
11

De acuerdo con this answer o la documentación de android, hay varias formas de obtener el contexto en una aplicación y pasarlo a otra clase/método/whateveruneed.¿Cuál es la mejor forma de obtener Contexto?

Digamos que estoy en la Actividad de Foo y necesito pasar el contexto al constructor de Bar.

Bar bar = new Bar(Foo.this); 
Bar bar2 = new Bar(this); //same as first i guess 
Bar bar3 = new Bar(getApplicationContext()); 
Bar bar4 = new Bar(getBaseContext()); 
Bar bar5 = new Bar(MyApp.getContext); // get context statically 

Teniendo en cuenta las fugas de memoria, la velocidad, el rendimiento general, ¿cuál será la mejor manera entre todas esas posibilidades?

Respuesta

2

Debe retirar this question - que cubre básicamente el mismo que el suyo.

También el Developer Docs en Avoiding memory leaks le da una explicación decente de algunas situaciones en las que varios de los métodos son razonables de usar.

0

No tengo ninguna respuesta directa a su pregunta. Pero si compara Foo.this y esto, entonces es mejor usar primero ya que a veces (en el caso de clase anidada) el segundo mostrará el error.

Para mayor discusión sobre la que se vaya a través de ese enlace

Using Application context everywhere?.

Espero que te ayude

Cuestiones relacionadas