title: Opening multiple activities from recyclerview causes the app to lag
body: <p>My app runs fine without any lag. However I have a recyclerview that opens a new activity containing item's details. So let's say activity A has recyclerview and it opens activity B. If the user opens activity B and performs onBackpressed and repeats this process the whole app starts to lag. Basically the flow of interaction that causes the app to lag is : A ->B ->A -> B ... (if user does this more than 10 times the app becomes almost unusable). I have tried leak canary but it doesn't report any memory leak. Also checking the android profile the only memory that goes up is native memory. </p>
  
  <p>In adapter i have nothing at onBindViewHolder beside the bind method. The on click method is implemented through an interface.</p>
  
  <pre><code>public class ElementsAdapter extends RecyclerView.Adapter&lt;ElementsAdapter.ElementsViewHolder&gt; implements Filterable {
  
  private final LayoutInflater inflater;
  
  private ElementsRecyclerItemClickListener recyclerItemClickListener;
  private List&lt;Elements&gt; elements;
  private List&lt;Elements&gt; filteredElements;
  
  public boolean isSearchRequestFiler = false;
  
  ElementsAdapter(Context context) {
      this.inflater = LayoutInflater.from(context);
  }
  
  @Override
  public ElementsAdapter.ElementsViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {
      return new ElementsAdapter.ElementsViewHolder(RowElementsBinding.inflate(inflater, parent, false));
  }
  
  @Override
  public void onBindViewHolder(final ElementsAdapter.ElementsViewHolder holder, final int position) {
      holder.bind(filteredElements.get(position));
  }
  
  @Override
  public void onViewRecycled(ElementsAdapter.ElementsViewHolder viewHolder) {
      super.onViewRecycled(viewHolder);
  }
  
  @Override
  public int getItemCount() {
      return filteredElements == null ? 0 : filteredElements.size();
  }
  
  Elements getItemAt(int position) {
      return filteredElements.get(position);
  }
  
  void setRecyclerItemClickListener(ElementsRecyclerItemClickListener elementClickListener) {
      this.recyclerItemClickListener = recyclerItemClickListener;
  }
   void setElements(final List&lt;Elements&gt; elements) {
      this.elements = elements;
      this.filteredElements = elements;
      notifyDataSetChanged();
  }
  
  class ElementsViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
      final RowElementsBinding binding;
  
      ElementsViewHolder(RowElementsBinding binding) {
          super(binding.getRoot());
          this.binding = binding;
          this.binding.getRoot().setOnClickListener(this);
      }
  
      public void bind(Element element) {
          binding.setElement(element);
          binding.executePendingBindings();
      }
  
      @Override
      public void onClick(View view) {
  
          if (recyclerItemClickListener != null)
              recyclerItemClickListener.onElementClickListener(getAdapterPosition());
      }
  }
  </code></pre>
  
  <p>The on Click listener at activity A:</p>
  
  <pre><code>@Override
  public void onElementClickListener(int position) {
      Intent intent = new Intent(ActivityA.this, ActivityB.class);
      intent.putExtra("ELEMENTS_ID", adapter.getItemAt(position).getId());
      intent.putExtra("ELEMENTS_OPENED_FROM", "ACTIVITY_A");
      startActivity(intent);
  }
  </code></pre>
  
  <p>Any help would be appreciated</p>