@Override public boolean onPreDraw() { if (updates-- <= 0) { target.getViewTreeObserver().removeOnPreDrawListener(this); Log.d("Remote display", "PreDrawListener remove from listerners"); return true; } else { // RFBServerImpl.host.runOnUiThread( Thread t = new Thread() { @Override public void run() { updateForView(client, target); } }; t.setPriority(Thread.MIN_PRIORITY); t.setName("update for view thread"); t.start(); } return true; }