我希望实现一个后台队列。它的工作方式是:当用户点击按钮时,将一个任务(需要时间完成)添加到队列中,队列应在后台线程上运行。如果用户再次点击按钮,则将另一个任务添加到队列中。后台线程逐个运行队列中的任务,直到队列为空。我希望只有1个后台线程处理任务。我可以使用什么样的Android功能?或者是否有示例?
我希望实现一个后台队列。它的工作方式是:当用户点击按钮时,将一个任务(需要时间完成)添加到队列中,队列应在后台线程上运行。如果用户再次点击按钮,则将另一个任务添加到队列中。后台线程逐个运行队列中的任务,直到队列为空。我希望只有1个后台线程处理任务。我可以使用什么样的Android功能?或者是否有示例?
解决这个问题可能有几种方法。你可以尝试使用Executors等低级实现,但我建议尝试Evernote的android-job库。
使用 AsyncTask
和 SingleThreadExecutor
进行结账。
http://developer.android.com/reference/java/util/concurrent/Executors.html#newSingleThreadExecutor()
创建一个使用单个工作线程和无界队列的Executor。
Handler
。 - OneCricketeer