Tag

SurfaceFlinger

0 views collected around this technical thread.

OPPO Kernel Craftsman
OPPO Kernel Craftsman
Jan 3, 2025 · Mobile Development

DisplayManagerService (DMS) in Android: Architecture and Implementation Analysis

The Android DisplayManagerService (DMS) orchestrates detection, addition, configuration, and removal of physical and logical displays, handling multi‑user, virtual, split‑screen, foldable, and HDR scenarios through components such as DisplayDeviceRepository, LogicalDisplayMapper, adapters, and power controllers, all initialized by SystemServer.

AndroidDisplay DeviceDisplay System
0 likes · 10 min read
DisplayManagerService (DMS) in Android: Architecture and Implementation Analysis
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
May 11, 2024 · Mobile Development

Understanding Android's Display System: Surface, SurfaceFlinger, BufferQueue, HAL, FrameBuffer, VSync and Multi‑Buffer Mechanisms

This article provides a comprehensive overview of Android's display system, detailing the roles and interactions of Surface, SurfaceFlinger, BufferQueue, HAL, FrameBuffer, VSync, and various buffering strategies to explain how smooth, tear‑free rendering is achieved.

AndroidBufferQueueDisplay System
0 likes · 18 min read
Understanding Android's Display System: Surface, SurfaceFlinger, BufferQueue, HAL, FrameBuffer, VSync and Multi‑Buffer Mechanisms
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Feb 10, 2023 · Mobile Development

Android Display System: From App to Screen

The article walks through Android’s display pipeline—from an app’s frame rendering through SurfaceFlinger, the Hardware Composer, and final screen output—showing how each stage appears in systrace and giving readers a macro‑level view of the data flow in Android S’s graphics system.

AndroidDisplay SystemSurfaceFlinger
0 likes · 8 min read
Android Display System: From App to Screen
Coolpad Technology Team
Coolpad Technology Team
Aug 5, 2022 · Mobile Development

Understanding Variable Refresh Rate on Android Devices and How to Control It

This article explains what variable refresh rate is on Android, how the platform determines the final refresh rate when multiple apps request different rates, and provides detailed SDK and NDK methods—including DisplayManager listeners, Surface.setFrameRate, and AChoreographer callbacks—to query and set refresh rates, as well as the underlying SurfaceFlinger vote and policy mechanisms that enforce these settings.

AndroidNDKSDK
0 likes · 30 min read
Understanding Variable Refresh Rate on Android Devices and How to Control It
Tencent Music Tech Team
Tencent Music Tech Team
Apr 12, 2019 · Mobile Development

Understanding Android BufferQueue: Architecture and Internal Operations

Android’s BufferQueue, the core producer‑consumer mechanism behind the display pipeline, manages GraphicBuffer slots through explicit FREE‑DEQUEUED‑QUEUED‑ACQUIRED transitions, using shared memory and Binder to let producers (e.g., Views, MediaCodec) enqueue frames and consumers (e.g., SurfaceFlinger) acquire and release them efficiently.

AndroidBufferQueueSurfaceFlinger
0 likes · 16 min read
Understanding Android BufferQueue: Architecture and Internal Operations