Android WeakReference<;视图>;是否在RecyclerView.VieweHolder中使用?

Android WeakReference<;视图>;是否在RecyclerView.VieweHolder中使用?,android,weak-references,android-viewholder,android-recyclerview,Android,Weak References,Android Viewholder,Android Recyclerview,一个简单的ViewHolder可以如下所示 视图元素是否应保持在弱参照中,以避免与该视图持有者所持视图的强循环引用 public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextContent; public ImageView mImageView; //or ? //WeakReference<TextView> mTextConten

一个简单的ViewHolder可以如下所示

视图元素是否应保持在弱参照中,以避免与该视图持有者所持视图的强循环引用

public static class ViewHolder extends RecyclerView.ViewHolder {

    public TextView mTextContent;
    public ImageView mImageView;

    //or ?
    //WeakReference<TextView> mTextContentRef = null;
    //WeakReference<ImageView> mImageViewRef = null;


    /**
     * Constructor
     * @param v The container view which holds the elements from the row item xml
     */
    public ViewHolder(View v) {
        super(v);

        mTextContent = (Button) v.findViewById(R.id.text);
        mImageView = (ImageView) v.findViewById(R.id.image);
    }
}
public静态类ViewHolder扩展了RecyclerView.ViewHolder{
公共文本查看mTextContent;
公共图像视图mImageView;
//还是?
//WeakReference mTextContentRef=null;
//WeakReference mImageViewRef=null;
/**
*建造师
*@param v保存行项目xml中元素的容器视图
*/
公共视图持有者(视图v){
超级(五);
mTextContent=(按钮)v.findviewbyd(R.id.text);
mImageView=(ImageView)v.findViewById(R.id.image);
}
}

不,不需要弱引用循环引用不会阻止对象被垃圾收集。@pskink,你能解释一下为什么吗?它确实不会停止GC收集它们,但这可能会导致内存释放延迟。