当NestedScrollView嵌套RecyclerView时,ViewHolder将不会回收

时间:2017-10-31 12:36:10

标签: android android-recyclerview

int

我设置setRecyclerListener以查看是否有回收;
当没有NestedScrollView时,将回收ViewHolder并打印日志;
当嵌套在NestedScrollView中时,视图将不会被回收并且不会打印日志,当项目越来越多时,会导致内存飙升。

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.v4.widget.NestedScrollView>

2 个答案:

答案 0 :(得分:0)

您必须将android:fillViewport="true"属性添加到NestedScrollView

答案 1 :(得分:0)

指定:

recyclerView.setNestedScrollingEnabled(false);

在Java文件中。