可以在不使用 ALooper 的情况下在 NDK 中接收输入吗?

Can one receive input in NDK without using ALooper?

在native_app_glue.c中,ALooper的使用似乎有点无关紧要;我有自己的 运行 引擎循环,我想我可以使用它从 ALooper 使用的文件描述符中提取事件。但是,我知道它在后台执行一些线程操作,我不想错过。

是否可以在不使用 ALooper 的情况下通过我自己的代码逐帧管理输入?怎么样?

P.S。对我需要同步的内容以及原因的解释可能会有很大帮助。

没有做不受支持的事情(比如访问传说中的文件描述符,我相信保存原始输入信息并且可能驻留在不同设备上的不同位置),似乎ALooper 确实是获取输入信息的唯一 合理 方式。显然这是因为 Looper 是整个应用程序生命周期的核心,请记住 Android 主要以 Dalvik 为中心,即使是纯 C / NDK 代码也必须通过规范方式处理此类问题。

P.S. 我很乐意听到其他消息,但大量研究使我得出了上述结论。