【发布时间】:2013-11-03 12:55:27
【问题描述】:
我正在创建一个可以下载大约 30 张图像的应用程序。假设它需要超过 10 秒。我一直在阅读有关 AsyncTask 的信息,我猜它不应该被使用,因为该任务将花费超过几秒钟的时间。
理想情况下,AsyncTasks 应该用于短操作(几秒钟 最多。)如果您需要保持线程长时间运行 时间,强烈建议您使用由提供的各种 API Executor、ThreadPoolExecutor等java.util.concurrent包 和 FutureTask。
查看ASyncTask 的API 时,我发现有些方法可以发布到UI 线程。如果我理解正确的话,更合适的方式来执行长时间运行的任务是使用FutureTask?这意味着我必须自己发布 UI 线程的更新。你用post(Runnable) method of View对吗?
无论我是否走在正确的轨道上,我都可能需要一些指导。
【问题讨论】:
-
使用 IntentService 或后台服务执行长任务...
标签: java android multithreading android-asynctask