适配器内的循环内存参考

时间:2016-04-11 18:56:12

标签: android

如果我在ListView中的单元格内有一个按钮,那么按钮的onClickListener是否可以保存对其父视图的引用,或者它是否会导致循环引用?

例如:

@Override
public void bindView(final View view, Context context, Cursor cursor) {
    final ViewHolder holder = (ViewHolder) view.getTag();

    holder.image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            view.setBackgroundResource(R.drawable.bkg_amex);
        }

    });
}

1 个答案:

答案 0 :(得分:2)

它将成为一个循环参考,但这不是世界末日。垃圾收集器是标记和扫描而不是引用计数实现,因此它可以捕获循环引用。