في نظام التشغيل Android، يتم تخزين خصائص النظام في فئة ConfigStore. تستخدم ConfigStore علامات الإصدار لتخزين قيم الإعدادات في قسم المورّد، ويصل أحد الخدمات في قسم النظام إلى هذه القيم باستخدام HIDL.
تستخدم خصائص النظامPRODUCT_DEFAULT_PROPERTY_OVERRIDES لتخزين خصائص النظام في default.prop في قسم المورّد، وتستخدم الخدمة sysprop لقراءة هذه الخصائص.
  يبقى ConfigStore HAL في AOSP لدعم أقسام المورّدين القديمة. على الأجهزة التي تعمل بنظام التشغيل Android 10، تقرأ surfaceflinger خصائص النظام أولاً. وإذا لم يتم تحديد أي خاصية نظام لعنصر إعداد في SurfaceFlingerProperties.sysprop، تعود surfaceflinger إلى ConfigStore HAL.
إنشاء العلامات وخصائص النظام
يحتوي كل علم إنشاء في ConfigStore على سمة نظام مطابقة، كما هو موضّح في الجدول التالي.
| إنشاء علامات | خصائص النظام | 
|---|---|
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS
    | 
   ro.surface_flinger.force_hwc_copy_for_virtual_displays
    | 
  
TARGET_HAS_HDR_DISPLAY
    | 
   ro.surface_flinger.has_HDR_display
    | 
  
TARGET_HAS_WIDE_COLOR_DISPLAY
    | 
   ro.surface_flinger.has_wide_color_display
    | 
  
NUM_FRAMEBUFFER_SURFACE_BUFFERS
    | 
   ro.surface_flinger.max_frame_buffer_acquired_buffers
    | 
  
MAX_VIRTUAL_DISPLAY_DIMENSION
    | 
   ro.surface_flinger.max_virtual_display_dimension
    | 
  
PRIMARY_DISPLAY_ORIENTATION
    | 
   ro.surface_flinger.primary_display_orientation
    | 
  
PRESENT_TIME_OFFSET_FROM_VSYNC_NS
    | 
   ro.surface_flinger.present_time_offset_from_vsync_ns
    | 
  
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK
    | 
   ro.surface_flinger.running_without_sync_framework
    | 
  
SF_START_GRAPHICS_ALLOCATOR_SERVICE
    | 
   ro.surface_flinger.start_graphics_allocator_service
    | 
  
TARGET_USE_CONTEXT_PRIORITY
    | 
   ro.surface_flinger.use_context_priority
    | 
  
USE_VR_FLINGER
    | 
   ro.surface_flinger.use_vr_flinger
    | 
  
VSYNC_EVENT_PHASE_OFFSET_NS
    | 
   ro.surface_flinger.vsync_event_phase_offset_ns
    | 
  
SF_VSYNC_EVENT_PHASE_OFFSET_NS
    | 
   ro.surface_flinger.vsync_sf_event_phase_offset_ns
    | 
  
خصائص النظام الجديدة
يتضمّن نظام التشغيل Android 10 خصائص النظام الجديدة التالية:
ro.surface_flinger.default_composition_dataspacero.surface_flinger.default_composition_pixel_formatro.surface_flinger.use_color_managementro.surface_flinger.wcg_composition_dataspacero.surface_flinger.wcg_composition_pixel_formatro.surface_flinger.display_primary_redro.surface_flinger.display_primary_greenro.surface_flinger.display_primary_bluero.surface_flinger.display_primary_whitero.surface_flinger.protected_contentsro.surface_flinger.set_idle_timer_msro.surface_flinger.set_touch_timer_msro.surface_flinger.use_smart_90_for_videoro.surface_flinger.protected_contentsro.surface_flinger.support_kernel_idle_timer
  للاطّلاع على تفاصيل حول هذه السمات، يُرجى الرجوع إلى
  frameworks/native/services/surfaceflinger/sysprop/SurfaceFlingerProperties.sysprop.
استخدام SurfaceFlingerProperties
  في الأمثلة التالية لمكتبة SurfaceFlingerProperties، يكون اسم الدالة api_name في SurfaceFlingerProperties.sysprop.
cc_binary { name: "cc_client", srcs: ["baz.cpp"], shared_libs: ["SurfaceFlingerProperties"], } java_library { name: "JavaClient", srcs: ["foo/bar.java"], libs: ["SurfaceFlingerProperties"], }
import android.sysprop.SurfaceFlingerProperties; ... static void foo() { ... boolean temp = SurfaceFlingerProperties.vsync_event_phase_offset_ns().orElse(true); ... } ...
#include <SurfaceFlingerProperties.sysprop.h> using namespace android::sysprop; ... void bar() { ... bool temp = SurfaceFlingerProperties::vsync_event_phase_offset_ns(true); ... } ...