Android:AsyncTask如何使用等待/通知
问题描述:
是否有可能在AsyncTask中调用等待&通知?到目前为止,我试图使用它们,但它所做的只是永远阻止AsyncTask。我该如何克服这一点?我的用法是:我已经产生了相机框架,我想汽车无然而将其发送到服务器,我想做出点比Android:AsyncTask如何使用等待/通知
while(true){
if (frameAvaialble){
send(frame)
}
}
水渠哪家无用CPU电源要好。
答
你可以试试ConditionVariable
,http://developer.android.com/reference/android/os/ConditionVariable.html
private ConditionVariable mCondition = new ConditionVariable(false);
while(true){
mCondition.block();
send(frame)
}
//other code
frameAvaialble = true;
mCondition.open();
听起来[生产者 - 消费者问题(http://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem):您的AsyncTask是消费者以及其他生成框架的来源是生产者。看看使用同步队列? – Santa 2013-05-03 01:04:57
有两种方法可以干净地处理这个问题。最好的方法是,如果你有某种方式使用侦听器来检测帧是否准备好。 取而代之,我建议您使用定时器并定期检查。 – HalR 2013-05-03 01:13:34