在我的应用中,我有一个非活动对象,它的角色是经理类。 很多时候我需要将“源活动”传递给方法作为该管理器类的参数,以便对该活动进行一些操作。
例如,让我们假设我们有MyActivity,它必须做一些吐司。 所以我有这个名为MyManager的经理类,我有这个方法raiseToast(Activity sourceActivity) {
Toast.makeText(sourceActivity, demo, Toast.LENGTH_LONG).show();
}
从Myactivity类我们以这种方式调用该方法:
MyManager manager=new MyManager();
manager.raiseToast(MyActivity.this);
它工作正常。
我在这里问的是,这是将Activity作为参数传递给非活动对象的正确方法吗? 我在真实设备(而不是模拟器)上有内存泄漏,我想知道这是否也会导致任何原因?
谢谢Idan。
答案 0 :(得分:3)
您可以尝试在活动上传递getApplicationContext()的应用程序上下文。 为什么你有这个MyManager对象?你可以从活动中举起烤面包,而不是在单独的课堂上。将你的方法raiseToast()移动到活动体,然后调用它。
编辑:请阅读http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html