title: Android Room + AsyncTask
body: <p>My team have developed a new Android app which makes extensive use of Room.</p>
  
  <p>I am unsure whether we are using AsyncTask correctly.</p>
  
  <p>We have had to wrap all calls to insert/update/delete in AsyncTasks which results in a huge number of AsyncTasks.  All the calls into Room are from background services.  There is no direct Room access from activities or fragments - they get everything via LiveData.</p>
  
  <p>An example call to insert a row:</p>
  
  <pre><code>AsyncTask.execute(() -&gt; myModelDAO.insertInstance(myModel));
  </code></pre>
  
  <p>With this in the DAO:</p>
  
  <pre><code>@Insert
  void insertInstance(MyModel model);
  </code></pre>