2017-08-13 96 views
1

我用兩個RecyclerView一個NestedScrollView內。該設置很好,但我擔心它可能具有的內存影響。我不確定RecylerView是否會像它那樣回收組件。這有什麼其他缺點嗎?RecyclerView會回收NestedScrollView內的項目嗎?

下面是一些代碼:

<android.support.v4.widget.NestedScrollView 
    android:id="@+id/nested_coordinator_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_marginBottom="54dp" 
    android:background="@color/white" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <RelativeLayout 
     android:id="@+id/toplayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@color/white"> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/recycleview1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:nestedScrollingEnabled="false"/> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/recycleview2" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/recycleview1" 
      android:nestedScrollingEnabled="false"/> 

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

回答

2

RecyclerView不回收的物品時,它是一個NestedScrollView內。事實上,當你setNestedScrollingEnabled(false)的觀點,將完全展開和滾動行爲應該由它的父,這是在你的情況下,NestedScrollView提供。所以,如果你有一個無限的RecyclerView,那麼當項目數量增加時,內存和性能將會降低。但是,只要你的項目的數量沒有那麼多,這會影響內存和性能,採用RecyclerViewNestedScrollView是不壞的錯誤。但很明顯,最好不要這樣做。

相關問題