在我的应用程序Ive得到了一个非活动对象,它的作用是作为一个管理器类。 多次我需要通过“源活性”的方法作为参数传递给该管理器类,以使该活动一些操作。

例如,让我们假定我们有MyActivity这得做一些烤面包。 所以我有此称为MyManager管理器类,我已经在它该方法

raiseToast(Activity sourceActivity) {

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

和从Myactivity类我们调用该方法是这样的:

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

它工作得很好。

我要问这里,这是一个活动作为参数传递给非活动对象以适当的方式? 我在真实设备(不是模拟器)一个内存泄漏,我不知道,这也可能造成的任何原因是什么?

感谢伊詹。

有帮助吗?

解决方案

您可能试图通过其是getApplicationContext()上的活动应用程序上下文。 为什么你有这样的MyManager对象?你可以只从提高活性土司没有单独的类有它。移动您的方法raiseToast()到活动体,只是调用它。

编辑:请参阅 HTTP://机器人开发人员.blogspot.com / 2009/01 /避免存储器-leaks.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top