关于android:如何将AsyncTask与ThreadPoolExecutor一起使用

How to use AsyncTask with ThreadPoolExecutor

我对ThreadPoolExecutor有点困惑。这是我要完成的工作:

我有一个列表视图,在该列表视图的左侧装有一个图像图标,在右侧有一个简短说明。我已经静态定义了所有文本,但是我想从网络上获取图标。我已经知道如何从URL获取图像,但是我不想为每个图标生成n个线程来获取图标图像。因此,我阅读了threadpoolexecutor上的asynctask,但不确定如何去做。你们能给我一个很好的开端吗?我必须创建一个threadpoolexecutor并在其中使用asynctasks吗?

我的列表是这样的..没有图标。

1
2
3
4
5
6
7
8
9
___________________________
[icon][a short description]
____________________________
[icon][a short description]
_____________________________
[icon][a short description]
_____________________________
[icon][a short description]
____________________________

我建议只使用AsyncTask而不用担心ThreadPoolExecutor,它仍然需要HoneyComb。 AsyncTask有一个线程池,该线程池可用于所有列表项。它不会为每个图标创建一堆线程。

请记住,您的任务将在Android 2.x上并行运行,并跟踪您的代码可能存在的任何同步问题。


您将需要使用方法executeOnExecutor()从您自己的执行器启动它。

似乎有很多陷阱,因此请仔细阅读AsyncTask的整个页面。

是的,您可以创建自己的ThreadPoolExecutor并将其与AsyncTask一起使用。