title: constraint layout performance as recyclerview item
body: <p>ConstraintLayout version: 1.1.0 stable.</p>
  
  <p>I am using ConstraintLayout as recyclerview item layout, xml file looks like this:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;android.support.constraint.ConstraintLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@drawable/list_item_bg_selector"
      android:minHeight="60dp"&gt;
  
      &lt;android.support.constraint.Guideline
          android:id="@+id/left_guide_line"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:orientation="vertical"
          app:layout_constraintGuide_begin="16dp"/&gt;
  
      &lt;android.support.constraint.Guideline
          android:id="@+id/top_guide_line"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:orientation="horizontal"
          app:layout_constraintGuide_begin="10dp"/&gt;
  
      &lt;android.support.constraint.Guideline
          android:id="@+id/right_guide_line"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:orientation="vertical"
          app:layout_constraintGuide_end="16dp"/&gt;
  
      &lt;android.support.constraint.Guideline
          android:id="@+id/bottom_guide_line"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:orientation="horizontal"
          app:layout_constraintGuide_end="7dp"/&gt;
  
      &lt;ImageView
          android:id="@+id/avatar"
          android:layout_width="40dp"
          android:layout_height="40dp"
          android:layout_gravity="center_vertical"
          android:layout_marginBottom="5dp"
          android:layout_marginRight="10dp"
          android:layout_marginTop="5dp"
          android:scaleType="centerCrop"
          android:src="@drawable/common_head_icon"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintLeft_toLeftOf="@+id/left_guide_line"
          app:layout_constraintTop_toTopOf="parent"/&gt;
  
      &lt;ImageView
          android:id="@+id/tv_unread_red_point"
          style="@style/tips_red_dot_circle_common"
          android:visibility="gone"
          app:layout_constraintBottom_toTopOf="@+id/avatar"
          app:layout_constraintLeft_toRightOf="@+id/avatar"
          app:layout_constraintRight_toRightOf="@+id/avatar"
          app:layout_constraintTop_toTopOf="@+id/avatar"
          tools:visibility="visible"/&gt;
  
      &lt;TextView
          android:id="@+id/tv_unread_msg_count"
          style="@style/tips_red_dot_num_common"
          android:layout_marginLeft="32dp"
          android:gravity="center"
          android:visibility="gone"
          app:layout_constraintBottom_toTopOf="@+id/avatar"
          app:layout_constraintLeft_toLeftOf="@+id/left_guide_line"
          app:layout_constraintRight_toRightOf="@+id/avatar"
          app:layout_constraintTop_toTopOf="@+id/avatar"
          tools:text="99+"
          tools:visibility="visible"/&gt;
  
      &lt;cn.test.widget.NickWidget
          android:id="@+id/name"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:layout_marginLeft="10dp"
          android:layout_marginStart="10dp"
          app:layout_constraintBottom_toTopOf="@+id/msg"
          app:layout_constraintLeft_toRightOf="@+id/avatar"
          app:layout_constraintRight_toLeftOf="@+id/time"
          app:layout_constraintTop_toTopOf="@+id/top_guide_line"
          app:layout_constraintVertical_chainStyle="packed"/&gt;
  
      &lt;TextView
          android:id="@+id/time"
          style="@style/text_h3_common_36px"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:ellipsize="end"
          android:includeFontPadding="false"
          android:maxLines="1"
          android:text="@string/def_value"
          app:layout_constraintBottom_toBottomOf="@+id/name"
          app:layout_constraintLeft_toRightOf="@+id/name"
          app:layout_constraintRight_toRightOf="@+id/right_guide_line"
          app:layout_constraintTop_toTopOf="@+id/name"
          tools:text="11:22"/&gt;
  
      &lt;ImageView
          android:id="@+id/msg_state"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginLeft="10dp"
          android:layout_marginStart="10dp"
          android:layout_marginTop="1dp"
          android:scaleType="centerCrop"
          android:src="@drawable/recent_msg_state"
          android:visibility="gone"
          app:layout_constraintBottom_toBottomOf="@+id/msg"
          app:layout_constraintHorizontal_chainStyle="spread_inside"
          app:layout_constraintLeft_toRightOf="@+id/avatar"
          app:layout_constraintRight_toLeftOf="@+id/icon_chatroom"
          app:layout_constraintTop_toTopOf="@+id/msg"
          tools:visibility="visible"/&gt;
  
      &lt;ImageView
          android:id="@+id/icon_chatroom"
          android:layout_width="14dp"
          android:layout_height="14dp"
          android:layout_marginLeft="5dp"
          android:layout_marginStart="5dp"
          android:scaleType="centerCrop"
          android:src="@drawable/common_head_icon"
          android:visibility="gone"
          app:layout_constraintBottom_toBottomOf="@+id/msg"
          app:layout_constraintLeft_toRightOf="@+id/msg_state"
          app:layout_constraintRight_toLeftOf="@+id/msg"
          app:layout_constraintTop_toTopOf="@+id/msg"
          app:layout_goneMarginLeft="10dp"
          tools:visibility="visible"/&gt;
  
      &lt;TextView
          android:id="@+id/msg"
          style="@style/text_h2_common_42px"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          android:layout_marginLeft="5dp"
          android:layout_marginStart="5dp"
          android:layout_marginTop="1dp"
          android:ellipsize="end"
          android:maxLines="1"
          android:paddingBottom="1dp"
          android:paddingTop="1dp"
          app:layout_constraintBottom_toTopOf="@+id/bottom_guide_line"
          app:layout_constraintLeft_toRightOf="@+id/icon_chatroom"
          app:layout_constraintRight_toLeftOf="@+id/chat_room_exit_icon"
          app:layout_constraintTop_toBottomOf="@+id/name"
          app:layout_goneMarginLeft="10dp"/&gt;
  
      &lt;ImageView
          android:id="@+id/chat_room_exit_icon"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@drawable/im_icon_chat_room_exit"
          android:visibility="gone"
          app:layout_constraintBottom_toBottomOf="@+id/msg"
          app:layout_constraintLeft_toRightOf="@+id/msg"
          app:layout_constraintRight_toLeftOf="@+id/group_msg_not_notify_icon"
          app:layout_constraintTop_toTopOf="@+id/msg"
          tools:visibility="visible"/&gt;
  
      &lt;ImageView
          android:id="@+id/group_msg_not_notify_icon"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@drawable/pub_nngroup_icon_shield"
          android:visibility="gone"
          app:layout_constraintBottom_toBottomOf="@+id/msg"
          app:layout_constraintLeft_toRightOf="@+id/chat_room_exit_icon"
          app:layout_constraintRight_toLeftOf="@+id/right_guide_line"
          app:layout_constraintTop_toTopOf="@+id/msg"
          tools:visibility="visible"/&gt;
  
  &lt;/android.support.constraint.ConstraintLayout&gt;
  </code></pre>
  
  <p>We got really bad performance when scrolling through the RecyclerView, and everything work just fine if I change item layout from a ConstraintLayout to a traditional layout (Nesting 4 or 5 layers). What can we do about this?</p>