title: AndroidViewModel vs ViewModel
body: <p>With the introduction of the Android Architecture Components library, several new classes were introduced, including <code>AndroidViewModel</code> and <code>ViewModel</code>. However, I'm having trouble figuring out the difference between these two classes. The <a href="https://developer.android.com/reference/android/arch/lifecycle/AndroidViewModel.html" rel="noreferrer">documentation</a> succinctly describes <code>AndroidViewModel</code> as follows:</p>
  
  <blockquote>
    <p>Application context aware <code>ViewModel</code></p>
  </blockquote>
  
  <p>I appreciate the brevity, but what exactly does this imply? When should we choose to use <code>AndroidViewModel</code> over <code>ViewModel</code> and vice-versa?</p>