title: Is it normal to show a single Toast multiple times on Android?
body: <p>I'm using <code>Toast</code> to show some informations to the user, because I want to show the newest message without delay regardless of the previous messages, I do it like this (learned from old projects):</p>
  
  <pre><code>public class MainActivity extends Activity {
  
      private Toast mToast;
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
  
          mToast = Toast.makeText(this, "", Toast.LENGTH_SHORT);
      }
  
      private void toast(final String message) {
          runOnUiThread(new Runnable() {
              @Override
              public void run() {
                  mToast.setText(message);
                  mToast.show();
              }
          });
      }
  }
  </code></pre>
  
  <p>That is, the single <code>Toast</code> object is reused and showed multiple times, whenever I need show a new message, I just <code>setText</code> and <code>show</code> it again. It seems working fine, but after I did some searching on Google, I found most people will do it like this:</p>
  
  <pre><code>    private void toast(final String message) {
          runOnUiThread(new Runnable() {
              @Override
              public void run() {
                  mToast.cancel();
                  mToast = Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT);
                  mToast.show();
              }
          });
      }
  </code></pre>
  
  <p>Which <code>cancel</code> the previous Toast then make a new one by <code>Toast.makeText</code>. </p>
  
  <p>Are there any differences? Which one should I prefer?</p>