Учитывая адаптер, как это:Безопасна ли утечка для сохранения экземпляра контекста/действия в RecyclerView.Adapter?
public class MyAdapter extends RecyclerView.Adapter {
private final Activity mActivity;
private final List<Item> mItemList;
public MyAdapter(Activity activity, List<Item> itemList) {
this.mActivity = activity;
this.mItemList = itemList;
}
//[...]
public void onBindViewHolder(ViewHolder holder, int position) {
final Item i = mItemList.get(position);
holder.launchButton.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
mActivity.startActivity(i.getIntent());
});
}
}
Как вы можете видеть, экземпляр активности необходим для запуска намерений. Конечно, есть и другие способы сделать это (например, с использованием интерфейсов), но вопрос в том, безопасно ли хранить твердую ссылку на экземпляр mActivity в адаптере.
Выбранный как лучший ответ для хорошего объяснения – BamsBamx