Я работаю над большой базой кода и вижу во многих местах этот тип кода:
public static class RequestCustomData implements View.OnClickListener {
WeakReference<MainActivity> mainActivity;
public RequestCustomData(MainActivity activity) {
mainActivity = new WeakReference<>(activity);
}
@Override
public void onClick(View view) {
MainActivity activity = mainActivity.get();
activity.requestCustomData(true, null);
}
}
Я немного смущен, почему это используется так много мест? Я взглянул на этот документ, но он не очень хорошо разъяснил, почему этот тип кода так сильно используется в приложении, над которым я работаю над ним.
https://community.oracle.com/blogs/enicholas/2006/05/04/understanding-weak-references
Кто-нибудь может объяснить мне, является ли это общей схемой? Если да, то почему?