Передача активности неактивному объекту
В моем приложении появился объект неактивности, роль которого является классом менеджера.
много раз мне нужно передать "активность источника" методам в качестве параметра для этого класса менеджера, чтобы сделать некоторые операции над этим действием.
например, предположим, что у нас есть MyActivity, который должен сделать тосты.
поэтому у меня этот класс менеджера под названием MyManager, и у меня есть этот метод в нем
raiseToast(Activity sourceActivity) {
Toast.makeText(sourceActivity, demo, Toast.LENGTH_LONG).show();
}
и из класса Myactivity мы называем этот метод следующим образом:
MyManager manager=new MyManager();
manager.raiseToast(MyActivity.this);
он отлично работает.
что я прошу здесь, это правильный способ передать параметр Activity как неактивный объект?
У меня есть утечка памяти на реальном устройстве (а не на эмуляторе), интересно, может ли это также привести к какой-либо причине?
Спасибо Идан.
Ответы
Ответ 1
Вы можете попробовать передать контекст приложения, который является getApplicationContext() для активности.
Почему у вас есть этот объект MyManager? Вы можете просто поднять тост из своей деятельности, не имея его в отдельном классе. Переместите свой метод raiseToast() в тело действия и просто вызовите его.
EDIT: прочитайте http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html