Tagged articles
6 articles
Page 1 of 1
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.

NDKSDKSurfaceFlinger
0 likes · 30 min read
Understanding Variable Refresh Rate on Android Devices and How to Control It
NetEase Smart Enterprise Tech+
NetEase Smart Enterprise Tech+
Jan 5, 2022 · Mobile Development

How Android’s Video Device Manager Powers WebRTC: Architecture and Optimization

This article explains Android’s Video Device Manager (VDM) within WebRTC, covering the graphics system, Surface/BufferQueue model, capture, encoding, rendering pipelines, cross‑platform implementation layers, and compatibility optimizations, providing developers with a comprehensive view of Android video handling in real‑time communication.

AndroidMediaCodecSurfaceFlinger
0 likes · 14 min read
How Android’s Video Device Manager Powers WebRTC: Architecture and Optimization
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.

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