يقدّم نظام التشغيل Android 13 ميزات وواجهات برمجة تطبيقات جديدة ورائعة للمطوّرين. تساعدك الأقسام أدناه في التعرّف على ميزات تطبيقاتك والبدء في استخدام واجهات برمجة التطبيقات ذات الصلة.
للحصول على قائمة مفصّلة بواجهات برمجة التطبيقات الجديدة والمعدَّلة والمحذوفة، يُرجى قراءة تقرير مقارنة واجهات برمجة التطبيقات. للحصول على تفاصيل حول واجهات برمجة التطبيقات الجديدة، يُرجى الانتقال إلى مرجع Android API، حيث يتم تمييز واجهات برمجة التطبيقات الجديدة لتسهيل العثور عليها. للاطّلاع على المجالات التي قد تؤثّر فيها تغييرات النظام الأساسي في تطبيقاتك، احرص على مراجعة التغييرات في سلوك Android 13 للتطبيقات التي تستهدف Android 13 ولجميع التطبيقات.
إنتاجية المطوّرين وأدواتهم
رموز تطبيقات مستوحاة من موضوع معيّن

بدءًا من Android 13، يمكنك تفعيل رموز التطبيقات ذات المظهر المتناسق. باستخدام هذه الميزة، يتم تلوين رموز التطبيقات في مشغّلات Android المتوافقة لتتضمّن ألوان الخلفية التي يختارها المستخدم والمظاهر الأخرى.
لتوفير هذه الميزة، يجب أن يوفّر تطبيقك رمزًا متكيّفًا ورمزًا أحادي اللون للتطبيق، وأن يشير إلى رمز التطبيق الأحادي اللون من العنصر <adaptive-icon>
في ملف البيان. إذا فعّل المستخدم رموز التطبيقات ذات السمات (أي فعّل خيار رموز التطبيقات ذات السمات في إعدادات النظام)، وكان مشغّل التطبيقات يتيح هذه الميزة، سيستخدم النظام ألوان الخلفية والسمة اللتين اختارهما المستخدم لتحديد لون التظليل، ثم يطبّقه على رمز التطبيق الأحادي اللون.
لا تعرض الشاشة الرئيسية رمز التطبيق المتوافق مع المظهر، بل تعرض رمز التطبيق التكيّفي أو العادي في أيّ من السيناريوهات التالية:
- إذا لم يفعّل المستخدم رموز التطبيقات المستوحاة من موضوع معيّن
- إذا كان تطبيقك لا يوفّر رمزًا أحادي اللون
- إذا كان المشغّل لا يتيح رموز التطبيقات المستوحاة من موضوع معيَّن
لمزيد من التفاصيل والتعليمات، يُرجى الاطّلاع على الرموز التكيّفية.
إعدادات اللغة المخصصة حسب التطبيقات

في كثير من الحالات، يحدِّد المستخدمون متعددو اللغات لغة واحدة للنظام، مثل الإنجليزية، لكنّهم يريدون اختيار لغات أخرى لتطبيقات معيّنة، مثل الهولندية أو الصينية أو الهندية. لمساعدة التطبيقات في تقديم تجربة أفضل لهؤلاء المستخدمين، يقدّم نظام التشغيل Android 13 الميزات التالية للتطبيقات التي تتوافق مع لغات متعددة:
إعدادات النظام: مكان مركزي يمكن للمستخدمين من خلاله اختيار اللغة المفضّلة لكل تطبيق.
يجب أن يوضّح تطبيقك السمة
android:localeConfig
في ملف البيان الخاص به لإعلام النظام بأنّه يتيح استخدام لغات متعددة. لمزيد من المعلومات، اطّلِع على التعليمات الخاصة بإنشاء ملف موارد وتعريفه في ملف بيان تطبيقك.واجهات برمجة التطبيقات الإضافية: تتيح واجهات برمجة التطبيقات العامة هذه، مثل طريقتَي
setApplicationLocales()
وgetApplicationLocales()
فيLocaleManager
، للتطبيقات ضبط لغة مختلفة عن لغة النظام في وقت التشغيل.تتم مزامنة واجهات برمجة التطبيقات هذه تلقائيًا مع إعدادات النظام، وبالتالي، ستضمن التطبيقات التي تستخدم واجهات برمجة التطبيقات هذه لإنشاء أدوات اختيار لغة مخصّصة داخل التطبيق حصول المستخدمين على تجربة متسقة بغض النظر عن المكان الذي يختارون فيه إعداداتهم المفضّلة للغة. تساعدك واجهات برمجة التطبيقات العامة أيضًا في تقليل مقدار الرموز النموذجية، وتتيح حِزم APK المجزّأة، وتتيح ميزة النسخ الاحتياطي التلقائي للتطبيقات لتخزين إعدادات لغة المستخدم على مستوى التطبيق.
لضمان التوافق مع الإصدارات القديمة من Android، تتوفّر أيضًا واجهات برمجة تطبيقات مكافئة في AndroidX. ننصحك باستخدام واجهات برمجة التطبيقات المضافة في الإصدار 1.6.0-beta01 من Appcompat أو الإصدارات الأحدث.
لن تتأثر التطبيقات التي لا تتيح استخدام لغات متعددة بهذه التغييرات.
تحسين دعم النصوص واللغات
يتضمّن Android 13 العديد من التحسينات على النصوص واللغات التي تساعدك في تقديم تجربة أكثر سلاسة، كما هو موضّح في الأقسام التالية:
تقسيم الكلمات إلى مقاطع أسرع
يؤدي استخدام الواصلات إلى تسهيل قراءة النص الملتف ويساعد في جعل واجهة المستخدم أكثر ملاءمة. بدءًا من Android 13، تم تحسين أداء تقسيم الكلمات بنسبة تصل إلى% 200، ما يتيح لك تفعيل هذه الميزة في TextView
بدون أي تأثير تقريبًا في أداء العرض. لتفعيل التقطيع السريع، استخدِم الترددات
fullFast
أو
normalFast
في
setHyphenationFrequency()
.
واجهات برمجة التطبيقات لتحويل النص
يستخدم الأشخاص الذين يتحدثون لغات مثل اليابانية والصينية طرق إدخال تستند إلى الكتابة الصوتية، ما يؤدي غالبًا إلى إبطاء عملية البحث والميزات مثل الإكمال التلقائي. في نظام التشغيل Android 13، يمكن للتطبيقات استدعاء واجهة برمجة التطبيقات الجديدة لتحويل النص، ما يتيح للمستخدمين العثور على ما يبحثون عنه بشكل أسرع وأسهل. في السابق، كان على المستخدم الياباني، على سبيل المثال، اتّباع الخطوات التالية لإجراء بحث:
- إدخال الهيراغانا كلفظ صوتي لعبارة البحث (مثل اسم مكان أو تطبيق)
- استخدام لوحة المفاتيح لتحويل أحرف الهيراغانا إلى كانجي
- إعادة البحث باستخدام أحرف الكانجي
- الحصول أخيرًا على نتائج البحث
باستخدام واجهة برمجة التطبيقات الجديدة لتحويل النص، يمكن للمستخدمين اليابانيين كتابة النص بالهيراغانا والاطّلاع على نتائج البحث بالكاناجي على الفور، بدون الحاجة إلى تنفيذ الخطوتَين 2 و3.
تحسين ارتفاعات الأسطر للنصوص غير اللاتينية
يحسّن نظام التشغيل Android 13 عرض النصوص غير اللاتينية (مثل التاميلية والبورمية والتيلوغوية والتبتية) من خلال استخدام ارتفاع سطر مناسب لكل لغة. تمنع ارتفاعات الأسطر الجديدة قص الأحرف وتحسّن موضعها. يمكن لتطبيقك الاستفادة من هذه التحسينات من خلال استهداف الإصدار 13 من نظام التشغيل Android. احرص على اختبار تطبيقاتك عند استخدام تباعد الأسطر الجديد لأنّ التغييرات قد تؤثر في واجهة المستخدم في اللغات غير اللاتينية.

تحسين التفاف النص باللغة اليابانية
بدءًا من Android 13، يمكن أن تلتف النصوص في TextViews حول Bunsetsu (أصغر وحدة من الكلمات التي تبدو طبيعية) أو العبارات، بدلاً من الأحرف، وذلك للحصول على تطبيقات يابانية أكثر سلاسة وسهولة في القراءة. يمكنك الاستفادة من هذا التغليف باستخدام
android:lineBreakWordStyle="phrase"
مع عناصر TextView.

تعديلات على مكتبة Unicode
يضيف نظام التشغيل Android 13 أحدث التحسينات والإصلاحات والتغييرات المضمّنة في Unicode ICU 70 وUnicode CLDR 40 وUnicode 14.0.
في ما يلي بعض التغييرات الملحوظة:
- تستخدم كل من الإنجليزية (كندا)
en‑CA
والإنجليزية (جمهورية الفلبين)en‑PH
موارد الترجمة الخاصة باللغة الإنجليزية (الولايات المتحدة)en
عندما لا تتوفّر موارد ترجمة بدلاً من الإنجليزية (المملكة المتحدة)en‑GB
. - تمت إضافة فئة
many
الجمع للغات الإسبانيةes
والإيطاليةit
والبرتغاليةpt
والبرتغالية (البرتغال)pt‑PT
. على غرار اللغة الفرنسية التي تم تقديمها في الإصدار 38 من CLDR، يتم استخدام هذه اللغة للأعداد الكبيرة.
خطوط متجهة ملونة

بدءًا من Android 13، يتضمّن النظام إمكانية عرض الخطوط بتنسيق COLR الإصدار 1 (COLRv1)، كما يتم تحديث إيموجي النظام إلى تنسيق COLRv1. COLRv1 هو تنسيق خط مضغوط للغاية يعرض الخطوط بسرعة وبدقة بأي حجم.
في معظم التطبيقات، يتولّى النظام كل شيء وتعمل COLRv1 بشكل سليم. ومع ذلك، إذا كان تطبيقك ينفّذ عرض النصوص الخاص به ويستخدم خطوط النظام، ننصحك باختبار عرض الرموز التعبيرية.
لمزيد من المعلومات حول COLRv1، يُرجى الاطّلاع على المراجع التالية:
- إعلان على مدوّنة "مطوّرو برامج Chrome"
- إتاحة خطوط COLRv1 المتجهة الملوّنة في Chrome (فيديو)
- مواصفات جدول COLR
Quick Settings placement API
توفّر "الإعدادات السريعة" في لوحة الإشعارات طريقة سهلة للمستخدمين لتغيير الإعدادات أو اتّخاذ إجراءات سريعة بدون مغادرة سياق التطبيق. وبالنسبة إلى التطبيقات التي توفّر مربّعات مخصّصة، نسهّل على المستخدمين العثور على مربّعاتك وإضافتها إلى "الإعدادات السريعة". باستخدام واجهة برمجة تطبيقات جديدة لوضع البلاطات، يمكن لتطبيقك الآن أن يطلب من المستخدم إضافة البلاطة المخصّصة مباشرةً إلى مجموعة بلاطات "الإعدادات السريعة" النشطة. يتيح مربّع حوار جديد للنظام للمستخدم إضافة البطاقة في خطوة واحدة بدون مغادرة تطبيقك، بدلاً من الانتقال إلى "الإعدادات السريعة" لإضافة البطاقة.
معاينة الحافظة
بدءًا من نظام التشغيل Android 13، يعرض النظام تأكيدًا مرئيًا موحّدًا عند إضافة محتوى إلى الحافظة. يؤدي التأكيد الجديد ما يلي:
- يؤكّد هذا الحقل أنّه تم نسخ المحتوى بنجاح.
- تقدّم معاينة للمحتوى المنسوخ.
تعمل هذه الميزة على توحيد الإشعارات المختلفة التي تعرضها التطبيقات بعد النسخ، وتتيح للمستخدمين التحكّم بشكل أكبر في الحافظة. لمزيد من المعلومات، يُرجى الانتقال إلى صفحة ميزة النسخ واللصق.

إيماءة إظهار شاشة الرجوع
يقدّم Android 13 إيماءة الرجوع التوقّعية لأجهزة Android، مثل الهواتف والشاشات الكبيرة والأجهزة القابلة للطي. لاستخدام هذه الميزة، عليك تحديث التطبيق.
للاطّلاع على مستندات تفصيلية، يُرجى الاطّلاع على مقالة تحديث تطبيقك ليتوافق مع ميزة "الرجوع التوقّعي". يمكنك أيضًا تجربة الدرس التطبيقي حول الترميز.
Bluetooth LE Audio
Low Energy (LE) Audio هي تقنية صوت لاسلكية مصمّمة لتحل محل تقنية البلوتوث التقليدية وتتيح حالات استخدام وطرق ربط معيّنة. ويتيح للمستخدمين مشاركة المحتوى الصوتي وبثه للأصدقاء والعائلة، أو الاشتراك في عمليات البث العلنية للحصول على معلومات أو الترفيه أو تسهيل الاستخدام. تم تصميمها لضمان إمكانية المستخدمين من تلقّي صوت عالي الدقة بدون التأثير في عمر البطارية، كما تتيح التبديل بسلاسة بين حالات الاستخدام المختلفة التي لا يمكن تحقيقها باستخدام Bluetooth Classic. بدءًا من Android 13، يتضمّن النظام دعمًا مدمجًا لتكنولوجيا LE Audio، وبالتالي يحصل المطوّرون على هذه الإمكانات مجانًا على الأجهزة المتوافقة.
MIDI 2.0
بدءًا من Android 13، يتضمّن النظام إمكانية استخدام معيار MIDI 2.0، بما في ذلك إمكانية توصيل أجهزة MIDI 2.0 من خلال USB. يتضمّن هذا المعيار ميزات مثل زيادة دقة وحدات التحكّم، وتحسين التوافق مع التنغيم غير الغربي، وتحسين الأداء التعبيري باستخدام وحدات تحكّم لكل نغمة.
تحسينات على كفاءة شاشة البداية
يحسّن نظام التشغيل Android 13 كفاءة شاشات البداية المتحركة في واجهة برمجة التطبيقات Splash Screen API، وذلك من خلال ما يلي:
يستنتج النظام مدة الحركة مباشرةً من
AnimatedVectorDrawable
. قبل الإصدار Android 13، كان من الضروري ضبطwindowSplashScreenAnimationDuration
مباشرةً.استخدِم السمة الجديدة
windowSplashScreenBehavior
للتحكّم بشكل أكبر في ما إذا كان تطبيقك يعرض الرمز دائمًا على شاشة البداية في Android 13 والإصدارات الأحدث.
للاطّلاع على مستندات تفصيلية، يُرجى الرجوع إلى شاشات البداية.
تحسينات "وقت تشغيل Android" (ART)
في الإصدار 13 من نظام التشغيل Android (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتيح ART التبديل من الرمز البرمجي الأصلي وإليه بشكل أسرع بكثير، إذ أصبحت طلبات JNI أسرع بمقدار 2.5 مرة. تم أيضًا إعادة تصميم عملية معالجة المراجع في وقت التشغيل لتصبح غير حظرية في معظم الحالات، ما يقلّل من حدوث تشوّش. بالإضافة إلى ذلك، يمكنك استخدام
Reference.refersTo()
واجهة برمجة التطبيقات العامة لاسترداد الكائنات التي يتعذّر الوصول إليها بشكل أسرع، كما ستلاحظ أنّ
المترجم أصبح أسرع الآن بفضل عمليات البحث المحسّنة عن الفئات والطرق. يُجري ART أيضًا عمليات تحقّق إضافية من رمز البايت في وقت التثبيت، ما يجنّب الجهاز تكلفة التحقّق أثناء وقت التشغيل ويحافظ على سرعة بدء تشغيل التطبيقات.
الخصوصية والأمان
تصدير أكثر أمانًا للمستقبِلات المسجَّلة في السياق
للمساعدة في جعل مستقبِلات البث أثناء التشغيل أكثر أمانًا، يتيح نظام التشغيل Android 13 لتطبيقك تحديد ما إذا كان يجب تصدير مستقبِل البث المسجَّل وجعله مرئيًا للتطبيقات الأخرى على الجهاز. في الإصدارات السابقة من Android، كان بإمكان أي تطبيق على الجهاز إرسال بث غير محمي إلى جهاز استقبال مسجّل بشكل ديناميكي ما لم يكن جهاز الاستقبال محميًا بواسطة إذن التوقيع.
تتوفّر إعدادات التصدير هذه في التطبيقات التي تنفّذ أحد الإجراءات التالية على الأقل:
- استخدِم فئة
ContextCompat
من الإصدار 1.9.0 أو الإصدارات الأحدث من مكتبة AndroidX الأساسية. - استهداف الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث
أداة اختيار الصور
يتضمّن الإصدار 13 من نظام التشغيل Android (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث تجربة أداة اختيار الصور. عندما يطلق تطبيقك أداة اختيار الصور، يختار المستخدمون صورًا وفيديوهات معيّنة لمشاركتها مع تطبيقك، مثل صور الملف الشخصي، بدلاً من منح تطبيقك إذن الوصول إلى مكتبة الوسائط بأكملها. هذه هي الطريقة المقترَحة للوصول إلى صور المستخدم وفيديوهاته.
توفّر أداة اختيار الصور مستوى خصوصية محسّنًا للمستخدمين لأنّ تطبيقك لا يحتاج إلى الإفصاح عن أي أذونات تشغيل. بالإضافة إلى ذلك، يوفّر تطبيق "أداة اختيار الصور" واجهة مستخدم موحّدة ومضمَّنة للتطبيقات، ما يساهم في تقديم تجربة مستخدم أكثر اتساقًا.
إذن تشغيل جديد للأجهزة المجاورة التي تستخدم شبكة Wi-Fi
يقدّم نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) إذنًا جديدًا وقت التشغيل في NEARBY_DEVICES
مجموعة الأذونات للتطبيقات التي تدير اتصالات الجهاز بنقاط الوصول القريبة عبر شبكة Wi-Fi. ويجب أن تعرِّف هذه التطبيقات الإذن الجديد،
NEARBY_WIFI_DEVICES
،
عندما
تستدعي العديد من واجهات برمجة تطبيقات Wi-Fi المختلفة.
بالإضافة إلى ذلك، ما دامت التطبيقات لا تستمد الموقع الجغرافي الدقيق من واجهات برمجة تطبيقات Wi-Fi، لن تحتاج إلى تقديم بيان عن إذن ACCESS_FINE_LOCATION
عند استهداف الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث.
مزيد من المعلومات حول إذن "أجهزة Wi-Fi المجاورة"
إذن جديد لاستخدام المنبّهات المحدَّدة الوقت
إذا كان تطبيقك يستهدف الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث، يمكنك استخدام الإذن
USE_EXACT_ALARM
،
الذي يتم منحه لتطبيقك تلقائيًا. ومع ذلك، يجب أن يستوفي تطبيقك معيارًا واحدًا على الأقل من المعايير التالية كي يتمكّن من استخدام هذا الإذن:
- تطبيقك هو تطبيق منبّه أو موقّت.
- تطبيقك هو تطبيق تقويم يعرض إشعارات بالأحداث القادمة.
إذا كان تطبيقك يضبط منبّهات محدّدة الوقت ولكنّه لا يستوفي أيًا من الحالتين الموضّحتين في القائمة السابقة، واصِل الإفصاح عن إذن SCHEDULE_EXACT_ALARM
بدلاً من ذلك، واستعِدّ للحالة التي يرفض فيها المستخدم منح تطبيقك إذن الوصول.
أذونات قابلة للإبطال من المطوّرين
بدءًا من نظام التشغيل Android 13، يمكن لتطبيقك إبطال إذن الوصول إلى أذونات وقت التشغيل غير المستخدَمة. تتيح واجهة برمجة التطبيقات هذه لتطبيقك تنفيذ مهام تعزّز الخصوصية، مثل ما يلي:
- إزالة الأذونات غير المستخدَمة
- الالتزام بأفضل الممارسات المتعلّقة بالأذونات، ما يؤدي إلى تعزيز ثقة المستخدمين ننصحك بعرض مربّع حوار للمستخدمين يعرض الأذونات التي تم إبطالها بشكل استباقي.
الإصدار 3.1 من مخطّط توقيع حِزم APK
يضيف نظام التشغيل Android 13 إمكانية استخدام الإصدار 3.1 من مخطّط توقيع حزمة APK، الذي يقدّم تحسينات على الإصدار 3 من مخطّط توقيع حزمة APK الحالي. يعالج هذا المخطّط بعض المشاكل المعروفة في الإصدار 3 من مخطّط توقيع حزمة APK المتعلّقة بالتناوب. على وجه الخصوص، يتيح مخطط التوقيع الإصدار 3.1 استهداف إصدارات حزمة تطوير البرامج (SDK)، ما يسمح بتغيير الإصدار إلى إصدار أحدث من النظام الأساسي.
يستخدم نظام التوقيع الإصدار 3.1 رقم تعريف كتلة غير متوافق مع الإصدار 12L أو الإصدارات الأقدم. لذلك، يطبّق النظام الأساسي سلوك الموقّع التالي:
- تستخدم الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو إصدار أحدث أداة التوقيع التي تم تدويرها في حزمة الإصدار 3.1.
- تتجاهل الأجهزة التي تعمل بإصدارات قديمة من نظام التشغيل Android الموقّع الذي تم تدويره وتستخدم بدلاً من ذلك الموقّع الأصلي في الحزمة 3.0.
لا تتطلّب التطبيقات التي لم تستبدل مفتاح توقيعها بعد أي إجراء إضافي. وعندما تختار هذه التطبيقات تدوير المفاتيح، يطبّق النظام تلقائيًا مخطط التوقيع الإصدار 3.1.
على التطبيقات التي سبق أن استبدلت مفتاح التوقيع وتريد مواصلة استخدامه في حزمة التوقيع بالإصدار 3.0، تعديل استدعاء apksigner
على النحو التالي:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
...حيث تكون قيمة API_LEVEL
هي 32 أو أقل.
تحسين إعداد التقارير عن الأخطاء في Keystore وKeyMint
بالنسبة إلى التطبيقات التي تنشئ مفاتيح، يوفّر كلّ من Keystore وKeyMint الآن مؤشرات أخطاء أكثر تفصيلاً ودقة. لقد أضفنا تسلسلاً هرميًا لفئة الاستثناءات ضمن
java.security.ProviderException
، مع استثناءات خاصة بنظام Android تتضمّن
رموز أخطاء Keystore/KeyMint،
وما إذا كان يمكن إعادة محاولة تنفيذ العملية التي أدّت إلى الخطأ. يمكنك أيضًا تعديل طرق إنشاء المفتاح واستخدامه (التوقيع والتشفير) لعرض الاستثناءات الجديدة. لا يقتصر تحسين إعداد التقارير عن الأخطاء على إنشاء المفاتيح، بل من المفترض أن يقدّم لك الآن ما تحتاج إليه لإعادة محاولة إنشاء المفاتيح.
إتاحة التطبيق على الأجهزة اللوحية والشاشات الكبيرة
يستند Android 13 إلى التحسينات التي تم إدخالها على الأجهزة اللوحية في Android 12 و12L، بما في ذلك تحسينات واجهة مستخدم النظام، وتحسين تنفيذ المهام المتعددة، وتحسين أوضاع التوافق. وكجزء من عملية الاختبار، احرص على أن تظهر تطبيقاتك بأفضل شكل على الأجهزة اللوحية والأجهزة الأخرى ذات الشاشات الكبيرة.
لمزيد من المعلومات حول الميزات الجديدة وما يجب اختباره، يُرجى الاطّلاع على صفحة التوافق مع الأجهزة اللوحية والشاشات الكبيرة.
الرسومات
عوامل تظليل قابلة للبرمجة

بدءًا من نظام التشغيل Android 13، يتضمّن النظام إمكانية استخدام عناصر RuntimeShader
قابلة للبرمجة، مع تحديد السلوك باستخدام لغة Android Graphics Shading Language (AGSL). تتشابه بنية AGSL مع بنية GLSL، ولكنها تعمل ضمن محرك العرض في Android لتخصيص الرسم داخل لوحة العرض في Android بالإضافة إلى فلترة محتوى View.
يستخدم Android داخليًا برامج التظليل هذه لتنفيذ
تأثيرات التموج والتشويش والتمرير السريع المفرط.
يتيح لك الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث إنشاء تأثيرات متقدّمة مشابهة لتطبيقك.
تحسينات على تجربة مصمّمي الرقص
يقدّم نظام التشغيل Android 13 طرقًا عامة لواجهة برمجة التطبيقات
Choreographer
وASurfaceControl
التي
توفّر للتطبيقات المزيد من المعلومات حول المخططات الزمنية المحتملة للإطارات وتضيف
المزيد من السياق إلى
SurfaceFlinger
حول دورة حياة الإطار. كما كان الحال في السابق، يمكن للتطبيقات إرسال دالة رد الاتصال إلى Choreographer
وتلقّي معلومات المخطط الزمني للإطارات. في نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات)، تعرض الدالة Choreographer
أوقات عرض محتملة متعددة ومهل اللقطات المقابلة لها. يمكن للتطبيقات اختيار وقت العرض ثم إرسال إشعار SurfaceFlinger
بشأن هذا الاختيار. بعد ذلك، لا تحاول SurfaceFlinger
تطبيق المعاملات أو
تخزين المخازن المؤقتة قبل وقت العرض التقديمي المطلوب.

الكاميرا
تسجيل فيديوهات بنطاق عالي الديناميكية
بدءًا من Android 13، تتيح واجهات برمجة التطبيقات Camera2 تسجيل الفيديو بنطاق عالي الديناميكية (HDR)، ما يتيح لك معاينة وتسجيل محتوى فيديو بنطاق عالي الديناميكية باستخدام الكاميرا. مقارنةً بالنطاق الديناميكي العادي (SDR)، يوفّر النطاق العالي الديناميكية (HDR) نطاقًا أوسع من الألوان ويزيد النطاق الديناميكي لمكوّن الإضاءة (من 100 شمعة/متر مربع حاليًا إلى آلاف الشموع/متر مربع). ويؤدي ذلك إلى الحصول على فيديوهات بجودة أقرب إلى الواقع، مع ألوان أكثر ثراءً، وإضاءة أكثر سطوعًا، وظلال أكثر قتامة.
لمزيد من المعلومات حول تسجيل الفيديوهات بنطاق عالي الديناميكية، يُرجى الاطّلاع على مستندات تسجيل الفيديوهات بنطاق عالي الديناميكية.
الوسائط
الصوت المكاني
"الصوت المكاني" هو تجربة صوتية غامرة تجعل المحتوى الصوتي يبدو أكثر واقعية للمستخدمين. يمكنك الاطّلاع على مستندات الصوت المكاني لمعرفة تفاصيل حول كيفية الدمج مع هذه الميزة.
التوجيه الصوتي الاستباقي
لمساعدة تطبيقات الوسائط في تحديد كيفية توجيه الصوت، يقدّم نظام التشغيل Android 13 واجهات برمجة تطبيقات لتوجيه الصوت في الفئة AudioManager
. تتيح لك واجهة برمجة التطبيقات
getAudioDevicesForAttributes()
استرداد قائمة بالأجهزة التي يمكن استخدامها لتشغيل الصوت المحدّد، وتساعدك واجهة برمجة التطبيقات
getDirectProfilesForAttributes()
في معرفة ما إذا كان يمكن تشغيل بث الصوت مباشرةً. استخدِم واجهات برمجة التطبيقات هذه لتحديد أفضل AudioFormat
لاستخدامه في مقطعك الصوتي.
تسهيل الاستخدام
وصف الصوت
يقدّم نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) إعدادًا جديدًا لتسهيل الاستخدام على مستوى النظام
يسمح للمستخدمين بتفعيل الأوصاف الصوتية في جميع التطبيقات. الوصف الصوتي هو مقطع سرد إضافي يتضمّن شخصًا يسرد العرض التقديمي ويصف ما يحدث على الشاشة أثناء التوقفات المؤقتة الطبيعية في الصوت.
يمكن للتطبيقات اتّباع إعدادات المستخدم المفضّلة لمقاطع الوصف الصوتي من خلال طلبها باستخدام isAudioDescriptionRequested()
، كما هو موضّح في مقتطف الرمز التالي:
Kotlin
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
Java
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
يمكن للتطبيقات تتبُّع تغيير إعدادات المستخدم المفضّلة من خلال إضافة أداة معالجة إلى
AccessbilityManager
:
Kotlin
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
Java
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
الوظيفة الأساسية
تعديلات OpenJDK 11
يبدأ نظام التشغيل Android 13 في تحديث المكتبات الأساسية لنظام Android لتتوافق مع إصدار OpenJDK 11 LTS، وذلك من خلال تحديثات المكتبات وتوفير دعم لغة Java 11 لمطوّري التطبيقات والمنصات. ستتوفّر أيضًا تغييرات المكتبة الأساسية التي تم طرحها في Android 13 على أجهزة Android 12 من خلال تحديث نظام Google Play إلى وحدة ART Mainline.
يتضمّن الإصدار Android 13 التغييرات التالية على المكتبات الأساسية:
- إتاحة الكلمة الرئيسية
var
للمتغيرات المحلية وكمَعلمات في تعبيرات lambda طُرق جديدة في فئة السلسلة:
isBlank()
lines()
repeat()
strip()
stripLeading()
stripTrailing()
إتاحة استخدام
Collection.toArray(IntFunction)
لتسهيل تحويل مجموعة إلى مصفوفةإتاحة
ifPresentOrElse()
وisEmpty()
وorElseThrow()
وstream()
في صفوفjava.util
Optional
وOptionalDouble
وOptionalInt
وOptionalLong
توفير دعم إضافي لـ
SocketOptions
، بما في ذلك إعادة استخدام المقابسوظائف
NullReader
وNullWriter
وInputStream
وOutputStream
وtransferTo()
Reader
التي تنقل الأحرف المقروءة إلىWriter
تمت إضافة وظيفة لتشفير عناوين URL وفك تشفيرها باستخدام
Charsets
.وظيفة
Charset
لكل منFileReader
وFileWriter
وPrintStream
وPrintWriter
دوال جديدة
transferTo()
وreadNBytes()
وreadAllBytes()
وwriteBytes()
لـByteArrayInput
أوOutputStream
وInput
أوOutputStream
توافُق بيئة التشغيل والمترجم مع اللغة
java.lang.invoke.VarHandle
تعدِّل
java.util.concurrent
إلى OpenJDK 11 API باستخدامVarHandle
داخليًا.
إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو شركائها التابعين.