【发布时间】:2017-03-30 10:50:20
【问题描述】:
在我的应用程序中,当用户从列表中点击文档时,我需要为文档提供下载功能。
所以,对于多个活动线程,我想到了 AsyncTask。但我也注意到人们并没有推荐 AsyncTask 进行这种操作。因为在这种情况下大没有。线程将在点击文档时开始。
不采用 AsynTask 的另一个原因是“现代 AsyncTask 仅限于 128 个并发任务”。这意味着如果您在完成之前排队超过 138 个任务,您的应用就会崩溃。
- executeOnExecutor() 方法能否解决我的目的,还是我需要重新考虑它?
- 如果我同时启动 50 个任务,那么所有这些任务都通过 executeOnExecutor() 同时运行?
- 并发任务限制(128)也适用于executeOnExecutor()?
我期待完美的答案。
【问题讨论】:
-
大多数问题取决于您将执行它的确切执行者。
-
我将使用 AsyncTask.THREAD_POOL_EXECUTOR
-
我不确定,但我认为它是一个默认执行器,默认情况下所有异步任务都在其上完成。所以你不需要调用
executeOnExecutor,只要execute,如果你想在上面执行它。 -
在这种情况下我应该使用什么?我的摩托是什么都没有。的文件。他们应该通过线程下载。
标签: android multithreading android-asynctask