内部类AsyncTask使用周围Activity类的方法?

时间:2012-07-19 10:48:40

标签: android android-asynctask

几个月来困扰我的东西。以下构造是否保存? AsyncTask是Activity中的内部类。 AsyncTask调用Activity类中的方法。此方法不使用活动对象或UI调用。

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() {
        // ...
    }
}

2 个答案:

答案 0 :(得分:0)

只要它不试图修改UI,它就是安全的。

答案 1 :(得分:0)

如果不更新UI,则安全;如果您正在更新UI,则可以使用runOnUiThread方法。