静态方法中的匿名类,持有什么参考?

bee*_*ezn 5 java android static-methods memory-leaks anonymous-inner-class

Afaik,在Java中,匿名内部类总是拥有对其外部类的封闭实例的引用.现在当我在静态方法中放入一个匿名类时会发生什么?由于它的外部类没有对象,它是否包含对调用静态方法的类的引用?我在这里有点困惑.考虑下面的Android示例(使用parse.com框架):

public class OnlineQuery {    
    public static void queryUsers(final ListenerInterface listener) {
        ParseQuery<ParseUser> query = User.getQuery();
        query.findInBackground(new FindCallback<ParseUser>() {
            @Override
            public void done(final List<ParseUser> userList, ParseException e) {
            listener.reportBackToCallingActivity();    
            // to which class is as a reference held here?
            }
        });
    }
}

public class MainActivity extends Activity implements OnlineQuery.ListenerInterface {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        OnlineQuery.queryUsers(this)
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

另外,正在使用一个监听器,如示例中关于内存泄漏的错误做法所示?谢谢!

dav*_*ave 0

匿名内部类的实例没有对外部类的引用。