可以说我有一个类,其中包含名为fooTask
的扩展AsyncTask
的内部类和名为getFoo()
的方法返回一些int值。如果我在AsyncTask's doInBackground()
方法内调用getFoo()
方法,这个getFoo()
方法会在主线程还是后台线程中执行?Android AsyncTask:在主线程或后台线程中执行doInBackground()内部调用的方法吗?
public class SomeClass extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
fooTask task = new fooTask();
task.execute();
}
private class fooTask extends AsyncTask<Void, Void, Integer>{
@Override
protected Integer doInBackground(Void... params) {
int foo = getFoo();
return foo;
}
}
private int getFoo(){
// Will this method be executed in main or background thread?
return 1;
}
}
它将从您的后台线程中调用。这个方法在代码中的位置并不重要,它在什么地方被调用。 – zgc7009 2014-09-18 19:00:43