سيظلّ واجهة برمجة التطبيقات ConfigStore HAL متوفّرة في AOSP لتوفير أقسام المورّدين القديمة. على
الأجهزة التي تعمل بنظام التشغيل Android 10 والإصدارات الأحدث، يقرأ surfaceflinger
خصائص النظام أولاً. وفي حال عدم تحديد أي خاصية نظام لعنصر الضبط في
SurfaceFlingerProperties.sysprop
، يعود surfaceflinger
إلى
واجهة برمجة التطبيقات ConfigStore HAL.
علامات الإنشاء وخصائص النظام
تحتوي كل علامة تعيين إصدار في ConfigStore على سمة نظام مطابقة، كما هو موضّح في الجدول التالي. للاطّلاع على تفاصيل عن هذه السمات، يُرجى الرجوع إلى frameworks/native/services/surfaceflinger/sysprop/SurfaceFlingerProperties.sysprop
.
علامات الإنشاء | خصائص النظام |
---|---|
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
|
استخدام SurfaceFlingerProperties
توضِّح الأمثلة التالية كيفية استخدام مكتبة SurfaceFlingerProperties
وملكية Surface Flinger ro.surface_flinger.vsync_event_phase_offset_ns
.
للبحث عن قيمة السمة المُشار إليها، استخدِم
api_name
للسمة كاسم الدالة.
أدرِج SurfaceFlingerProperties
في ملف الإنشاء على النحو التالي:
cc_binary { name: "cc_client", srcs: ["baz.cpp"], shared_libs: ["SurfaceFlingerProperties"], } java_library { name: "JavaClient", srcs: ["foo/bar.java"], libs: ["SurfaceFlingerProperties"], }
يستخدم مقتطف رمز Java التالي سمة النظام ro.surface_flinger.vsync_event_phase_offset_ns
:
import android.sysprop.SurfaceFlingerProperties; ... static void foo() { ... boolean temp = SurfaceFlingerProperties.vsync_event_phase_offset_ns().orElse(true); ... } ...
يستخدم مقتطف الرمز البرمجي التالي لبرنامج C++ السمة ro.surface_flinger.vsync_event_phase_offset_ns
system:
#include <SurfaceFlingerProperties.sysprop.h> using namespace android::sysprop; ... void bar() { ... bool temp = SurfaceFlingerProperties::vsync_event_phase_offset_ns(true); ... } ...