クラスに独自リスナー作って、
class ClassA {
   public interface MyListener {
     public void method();
   }
   private MyListener listener;
   public void setListener(MyListener l){
     listener = l;
   }
   ...
}
このリスナーをActivityにimplementsして、
   a = new ClassA(); //aはフィールド
   a.setListener(this);
ってやるとメモリリークする?