2011-11-19 37 views
-3

我正在点击一个上下文菜单启动服务。但在服务用户界面挂起,并显示ANR。在服务期间UI挂起

我正在使用一个线程在其中调用该服务。

@Override 
public boolean onMenuItemClick(MenuItem item) { 
    serviceThread = new Thread(new Runnable() { 
     @Override 
     public void run() { 
      Intent i = new Intent(Syncspace.this,syncService.class); 
      new Bundle(); 
      startService(i); 
     } 
    }); 
    serviceThread.start(); 

    return false; 
} 

并且直到任务未完成UI挂起。 plz帮助在该文档的状态问题

+0

莫不是你正在做的事情的UI线程上别的地方启动线程做了没有反应? –

+0

在服务中,我只从数据库中检索值。并上传/下载文件到云。 –

+0

如果你看看logcat,它应该告诉你更多关于问题出在哪里的细节。 –

回答

1

许多工作要做尽可能在工作或后台线程针对的AsyncTask是显而易见的基类AbstractThreadedSyncAdapter和AbstractInputMethodService沿也有吸引人的设计选择

1]注意,您可能必须与主 代码2]的确切名称使用从属于什么班呢

Multitasking the Android Way

+0

但是使用AsyncTask只是一种抽象的方式,你正在使用不同的线程,这是OP正在做的事情,所以它应该工作。有些事情我们没有被告知实际问题。 –