NewsAsyncTask 类中 为什么在处理完图片后要 mTask.remove(this);
public void loadImages(int start, int end) { for (int i = start; i < end; i++) { String url = NewsAdapter.URLS[i]; Bitmap bitmap = getBitmapFromCache(url); //如果没有,调用线程下载 if (bitmap == null) { //调用即下载图片 NewsAsyncTask task = new NewsAsyncTask(url); task.execute(url); mTask.add(task); } else { ImageView imageView = (ImageView) mListView.findViewWithTag(url); imageView.setImageBitmap(bitmap); } } }
在调用NewsAsyncTask该类的最后mTask.remove(this); 视频里老师说的是图片加载完成后删除。但我有一个疑问,mTask最开始应该是空的,程序首先调用的就是remove而不是add。那么这里我就已经不能理解了。其次remove后,又在该类执行完后,把task又加了回去,我也不理解这个。相关的两行代码代码:
task.execute(url);
mTask.add(task);
求懂得同学们指教。