2012-07-19 45 views
0

幾個月以來困擾我的東西。以下結構保存嗎? AsyncTask是Activity中的一個內部類。 AsyncTask在Activity類中調用一個方法。此方法不使用活動對象或UI調用。內部類AsyncTask在周圍的Activity類中使用方法?

public class MyActivity extends Activity { 

    private class MyAsyncTask extends AsyncTask<Void, Void, Void> { 

     @Override 
     protected void doInBackground(...) { 
      longRunningMethod(); 
     } 

     @Override 
     protected void onPostExecute(...) { 
     } 

     @Override 
     protected void onPreExecute (...) { 
     } 
    } 

    private void longRunningMethod() { 
     // ... 
    } 
} 
+0

我知道,這就是爲什麼我寫這種方法不會做UI調用。 – 2012-07-19 11:18:51

回答

0

安全,如果不更新UI,如果您要更新UI,則可以使用runOnUiThread方法。

+0

謝謝。所以當活動死亡(例如方向改變)並且線程正在運行時,它仍然可以使用該方法? – 2012-07-19 11:20:07

0

它的安全,只要它不嘗試修改UI。

相關問題