title: runOnUi slows down the app and make it forced close
body: <p>i am generating a random string for infinite time and setting it to a EditText.
  when i was not using runOnUi app was working on newer devices which have high capability. but it crashes on older model when i start the thread and gave error(called from wrong thread exception)</p>
  
  <p>Then i used runOnUi but it makes the super slow and force close it.</p>
  
  <pre><code>Thread thread = new Thread(new Runnable() {
                     @Override
                     public void run() {
                         while (true) {
                             runOnUiThread(new Runnable() {
                                 @Override
                                 public void run() {
                                     try {
                                         tryPass.setText(getAlphaNumericString());
                                         Thread.sleep(2000);
                                     } catch (InterruptedException e) {
                                         e.printStackTrace();
                                     }
  
  
                                 }
                             });
                         }
                     }
                 });
                 thread.start();
  </code></pre>