title: Xamarin Forms: How to handle big data in ListView?
body: <p>I need to show very big data in a ListView. Must I load all the
  data once? My code is below:</p>
  
  <pre><code>using System.Collections.ObjectModel;
  
  namespace Brunie.Mobile.ViewModels {
      public class VmListCompany {
          public ObservableCollection&lt;Company&gt; AllCompanies {
              get;
          } = new ObservableCollection&lt;Company&gt;();
          public VmListCompany() {
              LoadAllCompanies();
          }
          private void LoadAllCompanies() {
              Company company = null;
              while(null != (company = GetNextCompany(company))) {
                  AllCompanies.Add(company);
              }
          }
          private bool HasNextCompany(Company company) {
              bool hasNextCompany = false;
              ......
              return (hasNextCompany);
          }
          private Company GetNextCompany(Company company) {
              if(!HasNextCompany(company)) {
                  return (null);
              }
              Company nextCompany = new Company();
              ......
              return (nextCompany);
          }
      }
      public class Company {
          public string Name {
              get;
              set;
          }
          public string Address {
              get;
              set;
          }
          public int NumberOfEmployees {
              get;
              set;
          }
      }
  }
  </code></pre>
  
  <blockquote>
    <p>ListView in Xaml:</p>
  </blockquote>
  
  <pre><code>&lt;ListView ItemsSource="{Binding AllCompanies}"&gt;
      &lt;ListView.ItemTemplate&gt;
          &lt;DataTemplate&gt;
              &lt;ViewCell&gt;
                  &lt;Label Text="{Binding Name}" /&gt;
              &lt;/ViewCell&gt;
          &lt;/DataTemplate&gt;
      &lt;/ListView.ItemTemplate&gt;
  &lt;/ListView&gt;
  </code></pre>
  
  <blockquote>
    <p>After called LoadAllCompanies the count of AllCompanies is 20562104.
    So my app is very slow now.
    How to handle this situation?</p>
  </blockquote>