Android - 按请求顺序在后台运行任务

时间:2016-06-08 03:59:14

标签: android android-asynctask android-service

这是我第一次来这里。我希望我对自己的问题很清楚。

我希望在一个Activity的开头初始化一个Decoder对象,并保持空闲状态,直到请求执行Decoder.decode(int x),我想在后台运行并按请求顺序运行

例如,Decoder.decode(int x)需要1秒多才能完成,但我呼叫请求它每秒运行一次。我希望调用Decoder.decode(int x)等待上一次调用完成后再开始执行。

目前,我正在使用Service并将其绑定到我的活动。初始化部分在onBind()中完成。每次发出请求时,服务都会创建一个AsyncTask并在其Decoder.decode(int x)方法中运行doInBackground。这是正确的做法还是应该做别的事?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用AsyncTasks或线程的阻塞队列按顺序执行操作。您还可以使用如下的库:

https://github.com/path/android-priority-jobqueue