title: Android: RunOnUiThread vs AsyncTask
body: <p>I believe Google suggests developers to use AsyncTask.
  However, I would like to know how is it different from using 'new Thread' and then calling 'RunOnUiThread' in performance and memory efficiency.</p>
  
  <p>Example for using RunOnUithread:</p>
  
  <pre><code>    // some code #1
      Thread t = new Thread("Thread1") {
          @Override
          public void run() {
              // some code #2
              runOnUiThread(new Runnable() {
                  public void run() {
                      // some code #3 (that needs to be ran in UI thread)
  
                  }
              });
  
          }
      };
      t.start();
  </code></pre>
  
  <p>vs.</p>
  
  <p>AsyncTask:</p>
  
  <pre><code>onPreExecute() {
     // some code #1
  }
  
  doInBackground() {
     // some code #2
  }
  
  onPostExecute() {
     // some code #3
  }
  </code></pre>
  
  <p>What are the advantages / disadvantages?</p>
  
  <p>Edit:</p>
  
  <p>I am not looking for answers like 'easier to see the code', 'convenient for developers' etc.
  I am actually looking for technical diffrences behind the scene.</p>
  
  <p>For example, Paul Nikonowicz's answer below would have been the answer I wanted to see. (But AsyncTask behaves the same)</p>