这有效:
private class MyAsyncTask extends AsyncTask<....>{
protected void onPostExecute(){
// img is an ImageView
img.setImageBitmap(bitmap);
}
}
很抱歉,我认为如果我问“为什么img.setImageBitmap(bitmap)
已经在UI线程上运行,我的问题应该更准确。我认为它是在AsyncTask
线程中更新UI中的View。
答案 0 :(得分:1)
why img.setImageBitmap(bitmap) is already run on UI thread
因为您是在AsyncTask的onPostExecute()
方法中编写的。在AsyncTask
中,onPreExecute()
和onPostExecute()
等方法始终在主UI线程上运行,而只有doInBackground()在单独的线程上运行...