title: Difference of setValue() & postValue() in MutableLiveData
body: <p>There are two ways that make change value of <code>MutableLiveData</code>. But what is difference between <strong><code>setValue()</code></strong> &amp; <strong><code>postValue()</code></strong> in <code>MutableLiveData</code>.</p>
  
  <p>I could not find documentation for same.</p>
  
  <p>Here is class <code>MutableLiveData</code> of Android.</p>
  
  <pre><code>package android.arch.lifecycle;
  
  /**
   * {@link LiveData} which publicly exposes {@link #setValue(T)} and {@link #postValue(T)} method.
   *
   * @param &lt;T&gt; The type of data hold by this instance
   */
  @SuppressWarnings("WeakerAccess")
  public class MutableLiveData&lt;T&gt; extends LiveData&lt;T&gt; {
      @Override
      public void postValue(T value) {
          super.postValue(value);
      }
  
      @Override
      public void setValue(T value) {
          super.setValue(value);
      }
  }
  </code></pre>