Android:AsyncTask如何使用等待/通知

问题描述:

是否有可能在AsyncTask中调用等待&通知?到目前为止,我试图使用它们,但它所做的只是永远阻止AsyncTask。我该如何克服这一点?我的用法是:我已经产生了相机框架,我想汽车无然而将其发送到服务器,我想做出点比Android:AsyncTask如何使用等待/通知

while(true){ 
if (frameAvaialble){ 
    send(frame) 
    } 
} 

水渠哪家无用CPU电源要好。

+0

听起来[生产者 - 消费者问题(http://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem):您的AsyncTask是消费者以及其他生成框架的来源是生产者。看看使用同步队列? – Santa 2013-05-03 01:04:57

+0

有两种方法可以干净地处理这个问题。最好的方法是,如果你有某种方式使用侦听器来检测帧是否准备好。 取而代之,我建议您使用定时器并定期检查。 – HalR 2013-05-03 01:13:34

你可以试试ConditionVariablehttp://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();