يقدّم Android 13 ميزات وواجهات برمجة تطبيقات جديدة ورائعة للمطوّرين. تساعدك الأقسام أدناه في التعرّف على ميزات تطبيقاتك والبدء في استخدام واجهات برمجة التطبيقات ذات الصلة.
للحصول على قائمة تفصيلية بواجهات برمجة التطبيقات الجديدة والمعدَّلة والمُزالة، يُرجى الاطّلاع على تقرير الاختلافات في واجهات برمجة التطبيقات. لمعرفة تفاصيل حول واجهات برمجة التطبيقات الجديدة، يُرجى الانتقال إلى مرجع واجهة برمجة تطبيقات Android، حيث يتم تمييز واجهات برمجة التطبيقات الجديدة لتسهيل العثور عليها. وللتعرّف على الجوانب التي قد تؤثر فيها تغييرات النظام الأساسي على تطبيقاتك، يُرجى الاطّلاع على التغييرات في سلوك Android 13 للتطبيقات التي تستهدف Android 13 ولجميع التطبيقات.
إنتاجية المطوّرين وأدواتهم
رموز تطبيقات مستوحاة من موضوع معيّن
بدءًا من الإصدار 13 من نظام التشغيل Android، يمكنك تفعيل رموز التطبيقات ذات المظهر الموحّد. باستخدام هذه الميزة، يتم تلوين رموز التطبيقات في مشغّلات 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 عرض النصوص غير اللاتينية (مثل التاميلية والبورمية والتيلوغوية والتبتية) باستخدام ارتفاع سطر يتناسب مع كل لغة. تمنع ارتفاعات الأسطر الجديدة الاقتصاص وتحسّن موضع الأحرف. يمكن لتطبيقك الاستفادة من هذه التحسينات من خلال استهداف Android 13 فقط. احرص على اختبار تطبيقاتك عند استخدام تباعد الأسطر الجديد لأنّ التغييرات قد تؤثر في واجهة المستخدم باللغات غير اللاتينية.
تحسين التفاف النص الياباني
بدءًا من الإصدار 13 من نظام التشغيل Android، يمكن لـ TextViews التفاف النص حسب Bunsetsu (أصغر وحدة من الكلمات التي تبدو طبيعية) أو العبارات، بدلاً من الحرف، للحصول على تطبيقات يابانية أكثر دقة وقابلية للقراءة. يمكنك الاستفادة من هذا الالتفاف باستخدام
android:lineBreakWordStyle="phrase"
مع TextViews.
تحديثات مكتبة يونيكود
يضيف 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، يُرجى الاطّلاع على المراجع التالية:
واجهة برمجة تطبيقات موضع "الإعدادات السريعة"
تُعدّ "الإعدادات السريعة" في مركز الإشعارات طريقة ملائمة للمستخدمين لتغيير الإعدادات أو اتخاذ إجراءات سريعة بدون مغادرة سياق التطبيق. بالنسبة إلى التطبيقات التي توفّر مربّعات مخصّصة، نسهّل على المستخدمين اكتشاف مربّعاتك وإضافتها إلى "الإعدادات السريعة". باستخدام واجهة برمجة تطبيقات جديدة لوضع المربّعات، يمكن لتطبيقك الآن أن يطلب من المستخدم إضافة المربّع المخصّص مباشرةً إلى مجموعة مربّعات الإعدادات السريعة النشطة. يتيح مربّع حوار النظام الجديد للمستخدم إضافة المربّع في خطوة واحدة بدون مغادرة تطبيقك، بدلاً من الانتقال إلى "الإعدادات السريعة" لإضافة المربّع.

معاينة الحافظة
بدءًا من الإصدار 13 من نظام التشغيل Android، يعرض النظام تأكيدًا مرئيًا عاديًا عند إضافة محتوى إلى الحافظة. يؤدي التأكيد الجديد إلى ما يلي:
- يؤكّد أنّه تم نسخ المحتوى بنجاح.
- يوفّر معاينة للمحتوى الذي تم نسخه.
تعمل هذه الميزة على توحيد الإشعارات المختلفة التي تعرضها التطبيقات بعد النسخ وتوفّر للمستخدمين مزيدًا من التحكّم في الحافظة. لمزيد من المعلومات، يُرجى الانتقال إلى صفحة ميزة النسخ واللصق.
إيماءة إظهار شاشة الرجوع
يقدّم Android 13 إيماءة إظهار شاشة الرجوع لأجهزة Android، مثل الهواتف والأجهزة ذات الشاشات الكبيرة والأجهزة القابلة للطي. يتطلّب استخدام هذه الميزة تحديث تطبيقك.
للاطّلاع على مستندات مفصّلة، يُرجى مراجعة مقالة تحديث التطبيق ليتوافق مع إيماءة إظهار شاشة الرجوع. يمكنك أيضًا تجربة درسنا التطبيقي حول الترميز.
Bluetooth LE Audio
LE Audio هي تقنية صوت لاسلكية مصمَّمة لتحلّ محلّ تقنية Bluetooth Classic وتتيح حالات استخدام معيّنة وطُرق اتصال محدّدة. تتيح هذه الميزة للمستخدمين مشاركة وبث المحتوى الصوتي مع الأصدقاء والعائلة، أو الاشتراك في عمليات البث العامة للحصول على معلومات أو ترفيه أو تسهيل الاستخدام. تم تصميم هذه التقنية لضمان حصول المستخدمين على صوت عالي الدقة بدون التأثير في عمر البطارية، والتبديل بسلاسة بين حالات الاستخدام المختلفة التي لا يمكن تنفيذها باستخدام تقنية Bluetooth Classic. بدءًا من الإصدار Android 13، يتضمّن النظام دعمًا مدمجًا لتكنولوجيا LE Audio، وبالتالي يحصل المطوّرون على هذه الإمكانات مجانًا على الأجهزة المتوافقة.
MIDI 2.0
بدءًا من الإصدار Android 13، يتضمّن النظام إمكانية استخدام معيار MIDI 2.0، بما في ذلك إمكانية توصيل أجهزة MIDI 2.0 من خلال منفذ USB. يوفّر هذا المعيار ميزات مثل زيادة دقة وحدات التحكّم، ودعم أفضل للنغمات غير الغربية، وأداء أكثر تعبيرًا باستخدام وحدات التحكّم لكل نغمة.
تحسينات في كفاءة شاشة البداية
يعمل Android 13 على تحسين كفاءة شاشات البداية المتحركة في واجهة برمجة تطبيقات شاشة البداية:
يستنتج النظام مدة الحركة مباشرةً من
AnimatedVectorDrawable. قبل الإصدار Android 13، كان من الضروري ضبطwindowSplashScreenAnimationDurationمباشرةً.استخدِم السمة الجديدة
windowSplashScreenBehaviorللتحكّم بشكل أكبر في ما إذا كان تطبيقك يعرض دائمًا الرمز على شاشة البداية في Android 13 والإصدارات الأحدث.
للاطّلاع على مستندات مفصّلة، يُرجى مراجعة شاشات البداية.
تحسينات وقت تشغيل Android (ART)
في الإصدار 13 من نظام التشغيل Android (مستوى واجهة برمجة التطبيقات 33) والإصدارات الأحدث، يتيح وقت تشغيل Android (ART) التبديل من الرموز البرمجية الأصلية وإليها بشكل أسرع، مع زيادة سرعة طلبات JNI بمقدار يصل إلى 2.5 مرة. تمت أيضًا إعادة صياغة معالجة مراجع وقت التشغيل لجعلها غير محظورة في الغالب، ما يقلل من حدوث البطء. بالإضافة إلى ذلك، يمكنك استخدام واجهة برمجة التطبيقات العلنية
Reference.refersTo()
لاستعادة العناصر التي يتعذّر الوصول إليها في وقت أقرب، وستلاحظ أنّ
المترجم أصبح الآن أسرع بفضل عمليات البحث المحسّنة عن الفئات والطرق. ويُجري وقت تشغيل Android أيضًا المزيد من عمليات التحقّق من الرموز الثنائية أثناء التثبيت، ما يجنّب تكلفة التحقّق أثناء وقت التشغيل ويحافظ على سرعة تشغيل التطبيقات.
الخصوصية والأمان
تصدير أكثر أمانًا لأجهزة الاستقبال المسجَّلة في السياق
للمساعدة في جعل مستقبلات وقت التشغيل أكثر أمانًا، يوفّر Android 13 إمكانية تحديد ما إذا كان يجب تصدير مستقبل بث مسجَّل وإظهاره للتطبيقات الأخرى على الجهاز. في الإصدارات السابقة من Android، كان بإمكان أي تطبيق على الجهاز إرسال بث غير محمي إلى جهاز استقبال مسجَّل ديناميكيًا ما لم يكن جهاز الاستقبال هذا محميًا من خلال إذن التوقيع.
تتوفّر إعدادات التصدير هذه في التطبيقات التي تنفّذ إجراءً واحدًا على الأقل من الإجراءات التالية:
- استخدِم الفئة
ContextCompatمن الإصدار 1.9.0 أو إصدار أحدث من مكتبة AndroidX Core. - استهداف الإصدار 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 بدلاً من ذلك، والاستعداد للحالة التي يرفض فيها المستخدم منح تطبيقك إذن الوصول.
أذونات قابلة للإبطال من المطوّرين
اعتبارًا من الإصدار 13 من نظام التشغيل Android، يمكن لتطبيقك إبطال الوصول إلى أذونات التشغيل غير المستخدَمة. تتيح واجهة برمجة التطبيقات هذه لتطبيقك تنفيذ مهام تعزّز الخصوصية، مثل ما يلي:
- إزالة الأذونات غير المستخدمة
- الالتزام بأفضل الممارسات المتعلّقة بالأذونات، ما يعزّز ثقة المستخدمين قد تحتاج إلى التفكير في عرض مربع حوار للمستخدمين يعرض الأذونات التي ألغيتها بشكل استباقي.
الإصدار 3.1 من مخطّط توقيع حِزم APK
يضيف Android 13 دعمًا للإصدار 3.1 من مخطّط توقيع حِزم APK، والذي يُحسِّن من الإصدار 3 من مخطّط توقيع حِزم APK الحالي. يعالج هذا المخطّط بعض المشاكل المعروفة في الإصدار v3 من مخطّط توقيع حِزم 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-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، بما في ذلك تحسينات واجهة مستخدم النظام، وتحسين تعدد المهام، وتحسين أوضاع التوافق. كجزء من الاختبار، تأكَّد من أنّ تطبيقاتك تظهر بأفضل شكل على الأجهزة اللوحية والأجهزة الأخرى ذات الشاشات الكبيرة.
لمزيد من المعلومات حول الميزات الجديدة وما يجب اختباره، يُرجى الاطّلاع على صفحة التوافق مع الأجهزة اللوحية والشاشات الكبيرة.
الرسومات
أدوات تظليل قابلة للبرمجة
بدءًا من الإصدار 13 من نظام التشغيل Android، يتضمّن النظام إمكانية استخدام عناصر RuntimeShader قابلة للبرمجة، مع تحديد السلوك باستخدام لغة تظليل الرسومات في Android (AGSL). تتشابه لغة AGSL في الكثير من البُنى مع لغة GLSL، ولكنّها تعمل ضمن محرّك عرض Android لتخصيص الرسم ضمن لوحة الرسم في Android، بالإضافة إلى فلترة محتوى العرض.
يستخدم Android داخليًا برامج التظليل هذه لتنفيذ
تأثيرات التموّج
والتمويه
وتجاوز حد التمرير.
يتيح لك Android 13 والإصدارات الأحدث إنشاء مؤثرات متقدّمة مماثلة لتطبيقك.
تحسينات على Choreographer
يقدّم Android 13 طرقًا عامة لواجهة برمجة التطبيقات في
Choreographer و
ASurfaceControl
توفّر للتطبيقات مزيدًا من المعلومات حول المخططات الزمنية المحتملة للإطارات وتضيف
مزيدًا من السياق إلى
SurfaceFlinger
حول مراحل نشاط الإطار. كما في السابق، يمكن للتطبيقات
نشر طلب معاودة الاتصال
إلى Choreographer وتلقّي معلومات المخطط الزمني للإطار. في الإصدار 13 من نظام التشغيل Android (المستوى 33 لواجهة برمجة التطبيقات)، تعرض واجهة برمجة التطبيقات Choreographer عدة أوقات عرض محتملة والمواعيد النهائية للإطارات المقابلة لها. يمكن للتطبيقات اختيار وقت العرض
وإرسال
إشعار إلى SurfaceFlinger
بالاختيار. بعد ذلك، لا يحاول SurfaceFlinger تطبيق المعاملات أو
تثبيت المخازن المؤقتة قبل وقت العرض المطلوب.
الكاميرا
تسجيل فيديوهات بنطاق عالي الديناميكية (HDR)
بدءًا من الإصدار 13 من نظام التشغيل Android، تتيح واجهات برمجة تطبيقات Camera2 تسجيل الفيديو بنطاق عالي الديناميكية (HDR)، ما يتيح لك معاينة محتوى الفيديو بنطاق عالي الديناميكية وتسجيله باستخدام الكاميرا. مقارنةً بالنطاق العادي الديناميكية (SDR)، يوفّر النطاق العالي الديناميكية (HDR) نطاقًا أوسع من الألوان ويزيد من النطاق الديناميكي لمكوّن الإضاءة (من 100 شمعة/متر مربع حاليًا إلى آلاف الشمعات/متر مربع). ويؤدي ذلك إلى جودة فيديو أقرب إلى الواقع، مع ألوان أكثر ثراءً وإضاءة أكثر سطوعًا وظلال داكنة أكثر.
لمزيد من المعلومات حول التقاط فيديوهات بتقنية HDR، يُرجى الاطّلاع على مستندات التقاط فيديوهات بتقنية HDR.
الوسائط
الصوت المكاني
الصوت المكاني هو تجربة صوتية غامرة تجعل صوت محتوى الوسائط يبدو أكثر واقعية للمستخدمين. يمكنك الاطّلاع على مستندات الصوت المكاني لمعرفة تفاصيل حول كيفية دمج هذه الميزة.
التوجيه الاستباقي للصوت
لمساعدة تطبيقات الموسيقى في تحديد كيفية توجيه الصوت، يقدّم 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 للمَعلمات طرق جديدة في فئة String:
isBlank()lines()repeat()strip()stripLeading()stripTrailing()
إتاحة استخدام
Collection.toArray(IntFunction)لتسهيل تكييف مجموعة مع مصفوفةدعم
ifPresentOrElse()وisEmpty()وorElseThrow()وstream()في فئاتjava.utilOptionalو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 و/أو الشركات التابعة لها.