SurfaceFlinger - это системный сервис Android, отвечающий за составление всех поверхностей приложения и системы в одном буфер, который, наконец, будет отображаться контроллером дисплея.
Позвольте увеличить изображение выше.
SurfaceFlinger - это системный сервис, но он не напрямую доступный разработчику приложения, поскольку датчик или другие службы могут быть. Каждый раз, когда вы хотите обновить свой интерфейс, SurfaceFlinger будет пинать Это объясняет, почему SurfaceFlinger - это сливной аккумулятор.
Помимо поверхностей вашего приложения, есть системные поверхности, включая строку состояния, навигационную панель и, когда происходит поворот, поверхностей, созданных системой для анимации вращения. Наиболее приложения имеют только одну активную поверхность - переднего плана, другие имеют более одного, когда SurfaceView используется в иерархии представлений или в режиме презентации.
SurfaceFlinger отвечает за СОСТАВЛЕНИЕ всех этих поверхностей. Общее недоразумение заключается в том, что SurfaceFinger предназначен для ЧЕРТЕЖЕЙ. это не верно. Рисование - это работа OpenGL. Интересно, что SurfaceFlinger также использовал openGL для компоновки.
Результат композиции будет помещен в системный буфер или собственный окно, которое является источником для контроллера отображения для извлечения данных. Это то, что вы видите на экране.