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

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

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

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

تعديلات على مكتبة 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
. على غرار اللغة الفرنسية التي تم تقديمها في CLDR v38، تُستخدم هذه الطريقة مع الأرقام الكبيرة.
خطوط متجهة الألوان

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

إيماءة إظهار شاشة الرجوع
يوفّر Android 13 إيماءة توقّعية الرجوع إلى الشاشة السابقة لأجهزة Android، مثل الهواتف والشاشات الكبيرة والأجهزة القابلة للطي. لتفعيل هذه الميزة، عليك تحديث تطبيقك.
للاطلاع على المستندات التفصيلية، يمكنك الاطّلاع على تحديث تطبيقك لدعم إيماءة الرجوع التنبؤية. يمكنك أيضًا تجربة الدرس التطبيقي حول الترميز.
Bluetooth LE Audio
نظام الصوت المنخفض الطاقة (LE) هو صوت لاسلكي مصمَّم ليحلّ محلّ الإصدار الكلاسيكي من البلوتوث ويتيح استخدام بعض حالات الاستخدام وخطط الاتصال. وتتيح هذه التطبيقات للمستخدمين مشاركة المحتوى الصوتي وبثّه مع الأصدقاء والعائلة، أو الاشتراك في البثّ العلني للحصول على معلومات أو ترفيه أو تسهيل الاستخدام. تم تصميمه لضمان حصول المستخدمين على صوت عالي الجودة بدون التأثير في عمر البطارية، ويمكنهم التبديل بسلاسة بين حالات الاستخدام المختلفة التي لا يمكن تحقيقها باستخدام البلوتوث الكلاسيكي. بدءًا من Android 13، يتضمّن النظام إمكانات مدمَجة لاستخدام تكنولوجيا LE Audio، ما يتيح للمطوّرين الحصول على هذه الإمكانات مجانًا على الأجهزة المتوافقة.
MIDI 2.0
بدءًا من الإصدار 13 من نظام التشغيل Android، يتيح النظام استخدام معيار MIDI 2.0، بما في ذلك إمكانية توصيل أجهزة MIDI 2.0 عبر USB. يوفّر هذا المعيار ميزات مثل زيادة درجة الدقة لوحدات التحكّم، ودعمًا أفضل للغة غير الغربية، وأداء أكثر تعبيرًا باستخدام عناصر التحكّم في كل ملاحظة.
تحسينات على كفاءة شاشة البداية
يحسّن Android 13 كفاءة شاشات البداية المتحركة في واجهة برمجة التطبيقات Splash screen API:
يستنتج النظام مدة الحركة مباشرةً من
AnimatedVectorDrawable
. في الإصدارات السابقة لنظام التشغيل Android 13، كان من الضروري ضبطwindowSplashScreenAnimationDuration
مباشرةً.استخدِم السمة الجديدة
windowSplashScreenBehavior
للتحكّم بشكل أكبر في ما إذا كان تطبيقك يعرض الرمز دائمًا على شاشة البداية في Android 13 والإصدارات الأحدث.
للاطّلاع على مستندات تفصيلية، يُرجى الاطّلاع على شاشات البداية.
تحسينات ART
في نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، أصبحت ART تمت أيضًا إعادة معالجة المرجع أثناء التشغيل
ليصبح غير حظر في معظم الأحيان، ما يؤدي إلى تقليل الارتباك بشكلٍ أكبر. بالإضافة إلى ذلك، يمكنك استخدام واجهة برمجة التطبيقات
Reference.refersTo()
العامة
لاستعادة العناصر التي لا يمكن الوصول إليها في وقت أقرب، وستلاحظ أنّ أداة الترجمة أصبحت أسرع الآن بفضل عمليات البحث المحسّنة للفئات والأساليب. تُجري ART أيضًا
المزيد من عمليات التحقق باستخدام رمز البايت أثناء التثبيت، وبذلك يتم تجنب نفقات
التحقق في وقت التشغيل والحفاظ على سرعة أوقات بدء تشغيل التطبيق.
الخصوصية والأمان
تصدير أكثر أمانًا لأجهزة الاستقبال المسجَّلة بالاستناد إلى السياق
للمساعدة في جعل مستقبلات وقت التشغيل أكثر أمانًا، يقدّم نظام التشغيل Android 13 ميزة تتيح لتطبيقك تحديد ما إذا كان يجب تصدير مستقبل بث مسجّل وإظهاره للتطبيقات الأخرى على الجهاز. في الإصدارات السابقة من Android، كان بإمكان أي تطبيق على الجهاز إرسال بث غير محمي إلى مقبِّل مسجَّل ديناميكيًا ما لم يكن هذا المُقبِّل محميًا باستخدام إذن توقيع.
تتوفّر إعدادات التصدير هذه في التطبيقات التي تُجري أحد الإجراءين التاليين على الأقل:
- استخدِم الفئة
ContextCompat
من الإصدار 1.9.0 أو الإصدارات الأحدث من مكتبة AndroidX Core. - استهداف الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث.
أداة اختيار الصور
يشمل نظام Android 13 (المستوى 33) والإصدارات الأحدث تجربة أداة اختيار الصور. عندما يشغِّل تطبيقك أداة اختيار الصور، يختار المستخدمون صورًا وفيديوهات معيّنة لمشاركتها مع تطبيقك، مثل صور الملف الشخصي، بدلاً من منح تطبيقك إذن الوصول إلى مكتبة الوسائط بأكملها. هذه هي الطريقة المُقترَحة للوصول إلى صور المستخدم والفيديوهات.
توفّر أداة اختيار الصور خصوصية محسّنة للمستخدمين لأنّ تطبيقك ليس بحاجة إلى الإفصاح عن أي أذونات تشغيل. بالإضافة إلى ذلك، توفّر "أداة اختيار الصور" واجهة مستخدم مدمجة موحّدة للتطبيقات، ما يوفّر تجربة مستخدم أكثر اتساقًا.
إذن تشغيل جديد لأجهزة Wi-Fi القريبة
يوفِّر Android 13 (المستوى 33 من واجهة برمجة التطبيقات)
إذنًا جديدًا لوقت التشغيل في
مجموعة الأذونات NEARBY_DEVICES
للتطبيقات التي تدير اتصالات الجهاز بنقاط وصول قريبة عبر Wi-Fi. يجب أن تقدّم هذه التطبيقات بيانًا للإذن الجديد،
NEARBY_WIFI_DEVICES
،
عند
طلب عدة واجهات برمجة تطبيقات مختلفة لشبكة Wi-Fi.
بالإضافة إلى ذلك، ما دامت التطبيقات لا تحصل على الموقع الجغرافي الفعلي من واجهات برمجة التطبيقات
لشبكة Wi-Fi، لن تحتاج التطبيقات إلى تقديم بيان عن إذن
ACCESS_FINE_LOCATION
عند استهداف نظام التشغيل Android 13 أو الإصدارات الأحدث.
مزيد من المعلومات حول إذن "أجهزة Wi-Fi المجاورة"
إذن جديد لاستخدام المنبّهات المحدَّدة الوقت
إذا كان تطبيقك يستهدف الإصدار 13 من نظام التشغيل Android أو إصدارًا أحدث، يمكنك استخدام إذن
USE_EXACT_ALARM
الذي يتم منحه لتطبيقك تلقائيًا. ومع ذلك، لكي يتمكّن تطبيقك من
استخدام هذا الإذن، يجب أن يستوفي معيارًا واحدًا على الأقل من المعايير التالية:
- تطبيقك هو تطبيق منبّه أو موقّت.
- تطبيق تقويم يعرض إشعارات بالأحداث القادمة
إذا كان تطبيقك يضبط منبّهات محدّدة الوقت ولكنّه لا يستوفي أيًا من الحالتَين الموضَّحتَين في
القائمة السابقة، يُرجى مواصلة الإفصاح عن
إذن SCHEDULE_EXACT_ALARM
بدلاً من ذلك، والاستعداد للحالة التي يرفض فيها المستخدم
الوصول إلى تطبيقك.
أذونات قابلة للإبطال من المطوّرين
بدءًا من الإصدار 13 من نظام التشغيل Android، يمكن لتطبيقك إبطال إمكانية الوصول إلى أذونات التشغيل غير المستخدَمة. تسمح واجهة برمجة التطبيقات هذه لتطبيقك بتنفيذ مهام لتحسين الخصوصية، مثل ما يلي:
- إزالة الأذونات غير المستخدَمة
- الالتزام بأفضل الممارسات المتعلّقة بالأذونات، ما يعزّز ثقة المستخدمين يمكنك عرض مربّع حوار للمستخدمين يعرض الأذونات التي سبق لك إبطالها.
الإصدار 3.1 من مخطّط توقيع حِزم APK
يتيح نظام Android 13 التوافق مع الإصدار 3.1 من مخطّط توقيع حِزم APK، ما يساعد في تحسين أداء الإصدار الثالث من مخطّط توقيع حِزم APK الحالي. يعالج هذا المخطط بعض المشاكل المعروفة في الإصدار 3 من مخطّط توقيع حزمة APK في ما يتعلق بعرض الإعلانات بالتناوب. بشكل خاص، يدعم مخطط التوقيع v3.1 استهداف إصدارات حزمة تطوير البرامج (SDK)، الذي يتيح التناوب استهداف إصدار لاحق من النظام الأساسي.
يستخدم مخطط التوقيع للإصدار v3.1 رقم تعريف كتلة لم يتم التعرّف عليه في الإصدار 12L أو الإصدارات الأقدم. لذلك، تطبّق المنصة سلوك الموقِّع التالي:
- تستخدم الأجهزة التي تعمل بنظام التشغيل Android 13 أو إصدار أحدث أداة التوقيع التي تم تدويرها في الإصدار 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-versionAPI_LEVEL [signer_options] app-name.apk
...حيث تكون قيمة API_LEVEL
هي 32 أو أقل.
الإبلاغ عن الأخطاء بشكل أفضل في Keystore وKeyMint
بالنسبة إلى التطبيقات التي تنشئ المفاتيح، يوفّر كل من Keystore وKeyMint الآن مؤشرات أكثر تفصيلاً ودقة للخطأ. أضفنا تسلسلاً هرميًا لفئة الاستثناءات ضمن
java.security.ProviderException
، مع استثناءات خاصة بنظام التشغيل Android تشمل
رموز أخطاء Keystore/KeyMint،
وما إذا كان من الممكن إعادة محاولة الخطأ. يمكنك أيضًا تعديل طرق إنشاء المفتاح
واستخدامه (التوقيع والتشفير) لطرح الاستثناءات الجديدة. لا تقتصر ميزة reporting reporting المحسّنة على إنشاء المفاتيح، ومن المفترض أن تمنحك الآن ما تحتاجه لإعادة محاولة إنشاء المفاتيح.
إتاحة استخدام الأجهزة اللوحية والشاشات الكبيرة
يستند Android 13 إلى تحسينات الأجهزة اللوحية التي تم تقديمها في Android 12 وطرح ميزات الإصدار 12L، بما في ذلك تحسينات على واجهة مستخدم النظام وأداء أفضل للمهام المتعددة وتحسين أوضاع التوافق. كجزء من الاختبار، تأكد من أن تطبيقاتك تظهر بأفضل شكل على الأجهزة اللوحية والأجهزة الأخرى ذات الشاشات الكبيرة.
لمزيد من المعلومات عن الميزات الجديدة والأجهزة التي يمكن اختبارها، اطّلِع على صفحة دعم الأجهزة اللوحية والشاشات الكبيرة.
الرسومات
عوامل التظليل القابلة للبرمجة

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

الكاميرا
تسجيل فيديوهات بنطاق عالي الديناميكية (HDR)
اعتبارًا من الإصدار 13 من Android، تتيح واجهات برمجة التطبيقات Camera2 التقاط فيديو بنطاق عالي الديناميكية (HDR)، ما يتيح لك معاينة وتسجيل محتوى فيديو بنطاق عالي الديناميكية باستخدام الكاميرا. مقارنةً بالنطاق الديناميكي القياسي (SDR)، يوفر HDR مجموعة أكبر من الألوان ويزيد من النطاق الديناميكي لمكون الإضاءة (من 100 قرص مضغوط/م2 الحالي إلى 1000 قرص مضغوط/م2). بهذه الطريقة، ستحصل على جودة فيديو أقرب إلى الواقع من خلال استخدام ألوان أكثر وضوحًا وإبرازات أكثر سطوعًا وظلالاً داكنة.
لمعرفة مزيد من المعلومات حول التقاط الفيديوهات باستخدام تقنية HDR، يمكنك الاطّلاع على مستندات التقاط الفيديو بنطاق عالي الديناميكية.
الوسائط
الصوت المكاني
"الصوت المكاني" هو تجربة صوتية غامرة تجعل محتوى الوسائط يبدو أكثر واقعية للمستخدمين. يمكنك الاطّلاع على مستندات الصوت المكاني لمعرفة تفاصيل حول كيفية الدمج مع هذه الميزة.
التوجيه الصوتي التوقّعي
لمساعدة تطبيقات الوسائط في تحديد كيفية توجيه الصوت، يوفّر الإصدار 13 من نظام التشغيل Android
واجهات برمجة تطبيقات لتوجيه الصوت في فئة
AudioManager
. تسمح لك واجهة برمجة التطبيقات
getAudioDevicesForAttributes()
باسترداد قائمة بالأجهزة التي يمكن استخدامها لتشغيل
الصوت المحدد، وتساعدك واجهة برمجة التطبيقات
getDirectProfilesForAttributes()
في معرفة ما إذا كان من الممكن تشغيل البث الصوتي مباشرةً. استخدِم
واجهات برمجة التطبيقات هذه لتحديد أفضل
AudioFormat
لاستخدامه في مقطعك الصوتي.
تسهيل الاستخدام
الوصف الصوتي
يقدّم الإصدار 13 من نظام التشغيل Android (المستوى 33 لواجهة برمجة التطبيقات) إعدادات مفضّلة جديدة على مستوى النظام لتحسين تسهيل الاستخدام
تسمح للمستخدمين بتفعيل الأوصاف الصوتية في جميع التطبيقات. الوصف الصوتي هو مسار سردي إضافي يتألف من راوٍ يتحدث من خلال العرض التقديمي ويصف ما يحدث على الشاشة أثناء فترات التوقف الطبيعية في الصوت.
يمكن أن تتّبع التطبيقات إعدادات المستخدم المفضّلة للمقاطع الصوتية للوصف الصوتي من خلال إجراء طلب بحث باستخدام isAudioDescriptionRequested()
، كما هو موضّح في مقتطف الرمز التالي:
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 }
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
:
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) }
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
للمتغيّرات المحلية وكمَعلمات لامدا طرق جديدة في فئة String:
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 باستخدامVarHandle
داخليًا.
Java وOpenJDK هما علامتان تجاريتان أو علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.