唯一绕过SurfaceFlinger的方法是root你的设备并关闭整个应用程序框架。然后,您必须与硬件composer HAL进行接口--仅使用framebuffer dev在所有设备上都不起作用。只要没有太多其他事情发生,SurfaceFlinger的行为就非常可预测。当然,总会有其他事情发生,但无论您是否通过SurfaceFlinger合成,这都是真实的。如另一个问题所述(可能是您的问题),Android上的GLES至少是双缓冲的(eglSwapBuffers()),因此您无需实现任何内容即可获得该行为。
adb shell stop
。顺便说一句,像这样的事情,你应该创建一个新的问题,而不是在现有答案中添加评论。 - fadden