2011-11-01 16 views
0

我只是在Android中嘗試異步任務。AsyncQuery處理程序線程何時結束?

它可以工作,但是什麼時候該任務對應的線程被殺死?

當我在DDMS中檢查它仍處於等待狀態。

下面是我工作的代碼。

ThreadListQueryHandler mQueryHandler = new ThreadListQueryHandler(getContentResolver()); 
     startAsyncQuery(); 



private void startAsyncQuery() 
    { 
     try 
     { 
      setTitle("Refreshing"); 
      setProgressBarIndeterminateVisibility(true); 

      Conversation.startQueryForAll(mQueryHandler,QUERY_THREAD_LIST_ALL); 
     } 
     catch (SQLException e) { 
      Log.e("Event", "Catch a SQLiteException when query: ", e);  } 
    } 



public class ThreadListQueryHandler extends AsyncQueryHandler{ 

     public ThreadListQueryHandler(ContentResolver contentresolver) { 
      super(contentresolver); 
     } 
     @Override 
     protected void onQueryComplete(int token, Object cookie, Cursor cursor) { 

      setTitle("Complete"); 
      setProgressBarIndeterminateVisibility(false); 
      cursor.moveToFirst(); 
     switch (token) { 
    case QUERY_THREAD_LIST_ALL:     

Toast.makeText(context,""+cursor.getCount(),Toast.LENGTH_SHORT).show();    break; 

     } 
     } 

回答

0

這是一個類似的quiestion。 總之,這是正常的,因爲該線程被重用於AsyncTask的其他執行。