7

在我的应用程序中,我有一个非活动对象,它的角色是一个经理类。很多时候,我需要将“源活动”作为参数传递给该管理器类的方法,以便对该活动进行一些操作。

例如,假设我们有 MyActivity 必须做一些祝酒词。所以我有这个名为 MyManager 的管理器类,我有这个方法

raiseToast(Activity sourceActivity) {

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

从 Myactivity 类中,我们以这种方式调用该方法:

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

它工作正常。

我在这里问的是,这是将活动作为参数传递给非活动对象的正确方法吗?我在真实设备(不是模拟器)上出现内存泄漏,我想知道这是否也会导致任何原因?

谢谢伊丹。

4

1 回答 1

3

您可以尝试在活动中传递应用程序上下文,即 getApplicationContext()。为什么你有这个 MyManager 对象?您可以从活动中举起吐司,而无需将其放在单独的班级中。将您的方法 raiseToast() 移动到活动主体并调用它。

编辑:请阅读http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

于 2010-02-12T16:23:30.400 回答