android 应用程序没有响应使用线程

android app not responding with using thread

我实现了一个 UI 的程序。在 UI 我有 2 个按钮(开始和结束)。当我在我的应用程序中单击开始按钮我的服务时 运行,然后单击完成按钮我的服务完成。
在我的服务中,我连接到 xmpp 服务器,当网速高时我没有任何问题,但当网速低时,连接 xmpp server 和我的 UI 需要很长时间什么都不做就崩溃了。我在线程中连接到 xmpp 服务器。

我的代码是:

public class FirstAct  extends Activity{
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    btnStart.setOnClickListener( new OnClickListener() {
      @Override
      public void onClick(View v) {
        startService(new Intent(act, MainActivity.class));
    }});

    btnEnd.setOnClickListener( new OnClickListener() {
      @Override
      public void onClick( View v ) {
        stopService(new Intent(act, MainActivity.class));
    }});
  }
}

//------------------------

public class MainService extends Service {

  @Override
  public void onStart(Intent intent, int startId) {
    ....
    toastHandler2.sendEmptyMessage(0);
    ....
  }

  private final Handler toastHandler = new Handler() {
    @SuppressWarnings({ "null","unused" })
    @Override
    public void handleMessage(android.os.Message msg){
      try{
        connectToXmppServer();
        }catch(Exception e){    
      }
    }
  };     

当ConnectToXMPP耗时很长时,所有程序都没有崩溃,我该怎么办???

请帮帮我

我用这个线程而不是 Handler 解决了我的问题:

void runInBackground() {
  new Thread(new Runnable() {
    @Override
    public void run() {
      connectToXmppServer();
    }
  }).start();
}