Pregunta

En mi aplicación ive consiguió un objeto no actividad que su papel es ser una clase gerente. Muchas veces tienen que pasar "actividad de la fuente" a métodos como parámetro a esa clase gestor con el fin de realizar algunas operaciones en esa actividad.

, por ejemplo, vamos a suponer que tenemos MyActivity la que tienes que hacer unas tostadas. así que tengo esta clase gestor de llamada MyManager, y tengo este método en ella

raiseToast(Activity sourceActivity) {

  Toast.makeText(sourceActivity, demo, Toast.LENGTH_LONG).show();
}

y de la clase Myactivity que llamar a ese método de esta manera:

MyManager manager=new MyManager();
manager.raiseToast(MyActivity.this);

funciona bien.

lo que estoy pidiendo aquí, se trata de una manera apropiada para pasar de una actividad como parámetro a un objeto no actividad? Estoy teniendo una pérdida de memoria en el dispositivo real (no el emulador), me pregunto si esto también podría causar ninguna razón para ello?

Gracias Idan.

¿Fue útil?

Solución

Usted puede tratar de pasar contexto de aplicación que es getApplicationContext () sobre la actividad. ¿Por qué tiene este objeto MyManager? Usted puede simplemente levantar la tostada de la actividad sin tener en clase separada. Mueva su método raiseToast () para la actividad corporal y simplemente llamarlo.

Edit: por favor, consulte http: // android-developers .blogspot.com / 2009/01 / memoria evitando-leaks.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top