我正在使用AsyncTasks来加载带有图像的列表元素(只是按照Android的教程有效地加载位图)。
在DDMS中,我可以看到最多有5个AsyncTasks正在运行。
现在我添加了另一个AsyncTask,它使用MediaCodec类执行一些解码操作。
现在在DDMS中,我仍然看到5个AsyncTasks,并且我的图像加载异步任务或解码异步任务之一被执行,而不是两者同时执行。
当解码正在运行时,如果我滚动列表,则元素的图像不会更新。相反,当我通过调用其execute方法启动新的解码异步任务时,解码不会开始,但是如果我现在滚动列表视图,则图像将更新。
那么AsyncTask是否受到限制?
即使在listAdapter中,我也会在每个getView调用中启动一个AsyncTask。 如果列表可见元素为7,则预期会有7个正在运行的异步任务(例如),但是DDMS仅显示5个异步任务正在运行。
现在有人可以解释一下我不知道的黑魔法吗?