title: Best way to perform heavy data listing [Currently using RecyclerView]
body: <p>I'm not here to ask about how to accomplish 'X' task, but I want to do it better way than I'm doing it right now.</p>
  
  <p>I will mention all the libraries used in this tasks, so any better recommendations are welcome.</p>
  
  <p>Below is my project flow:</p>
  
  <ul>
  <li>Database is stored on remote host which is retrieved by its PHP API
  using <em>retrofit</em>. </li>
  <li>I download a epub file from remote host using
  <em>okHTTP</em>. </li>
  <li>Then use <em>epublib</em> to read the epub</li>
  <li>Extract it's resources to read it later [css / images etc.]</li>
  <li>Read each of it's page and store it in Array</li>
  <li>Pass the array to adapter and use <em>Webview</em> as a layout for outputting xHTML code</li>
  <li>Attach adapter to <em>RecyclerView</em></li>
  </ul>
  
  <p>Note : <strong>The same epub can be read many times, so I don't extract every time. If it's a bit slower for first time, it's okay for me.</strong></p>
  
  <p>The problem here is in this whole task. The output is <em>RecyclerView</em> with around <em>WebViews</em> in it, and 100-500 pages of data waiting to bind.
  What's best way to perform these tasks / optimize recyclerview / binding data periodically or as per requirement?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Another problem here I diagnosed, android RecyclerView only call <em>onBindViewHolder</em> as per requirement but since I use <code>android:layout_height="wrap_content"</code> for my WebView [Why? Because I don't want user to scroll page then scroll list when page ends]</p>
  
  <p><em>onBindViewHolder</em> Saves lot of CPU by just binding layout when needed, but in my app it's binding around 150 layout on initialization. If I give fixed height to <code>WebView</code>, It becomes lot smoother.</p>
  
  <p>Is there any way to set height to WebView Through Programming Method so it will bind maximum 8-10 layout on initialization but 150.</p>