Android NDK ALooper_pollOnce()与ALooper_pollAll()的比较
在Android NDK中,Android NDK ALooper_pollOnce()与ALooper_pollAll()的比较,android,android-ndk,event-handling,Android,Android Ndk,Event Handling,在Android NDK中,ALooper\u pollOnce()和ALooper\u pollAll()之间的区别是什么?这些简单的函数指定了从Looper的事件队列处理的回调次数(最大值)。顾名思义,pollAll()执行事件队列中的所有回调,直到遇到数据事件、错误或超时。另一方面,pollOnce()在执行第一次回调时立即返回一个操作轮询回调 基本上,它们之间的关系可以用以下伪代码表示: int ALooper_pollAll(int timeoutMillis, int* outFd,
ALooper\u pollOnce()
和ALooper\u pollAll()
之间的区别是什么?这些简单的函数指定了从Looper的事件队列处理的回调次数(最大值)。顾名思义,pollAll()
执行事件队列中的所有回调,直到遇到数据事件、错误或超时。另一方面,pollOnce()
在执行第一次回调时立即返回一个操作轮询回调
基本上,它们之间的关系可以用以下伪代码表示:
int ALooper_pollAll(int timeoutMillis, int* outFd, int* outEvents, void** outData) {
int result;
do {
result = ALooper_pollOnce(timeoutMillis, outFd, outEvents, outData);
} while (result == ALOOPER_POLL_CALLBACK);
return result;
}