2011-11-19 56 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正在做的事情,所以它應該工作。有些事情我們沒有被告知實際問題。 –