نظرة عامة على الميزات وواجهات برمجة التطبيقات

يقدّم نظام Android 13 ميزات وواجهات برمجة تطبيقات جديدة رائعة للمطوّرين. تساعدك الأقسام التالية في التعرّف على ميزات تطبيقاتك والبدء باستخدام واجهات برمجة التطبيقات ذات الصلة.

للحصول على قائمة مفصّلة لواجهات برمجة التطبيقات الجديدة والمعدَّلة والمُزالة، يُرجى قراءة تقرير اختلافات واجهة برمجة التطبيقات. للاطّلاع على تفاصيل عن واجهات برمجة التطبيقات الجديدة، يُرجى الانتقال إلى مرجع واجهة برمجة تطبيقات Android. ويتم تمييز واجهات برمجة التطبيقات الجديدة لسهولة الاطّلاع عليها. لمعرفة الجوانب التي قد تؤثر فيها تغييرات النظام الأساسي في تطبيقاتك، احرص على الاطّلاع على التغييرات في سلوك Android 13 بالنسبة إلى التطبيقات التي تستهدف 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، يمكن للتطبيقات طلب واجهة برمجة التطبيقات الجديدة لتحويل النص حتى يتمكّن المستخدمون من العثور على ما يبحثون عنه بشكل أسرع وأسهل. في السابق، على سبيل المثال، كان على المستخدم الياباني اتّباع الخطوات التالية للبحث:

  1. إدخال Hiragana كطريقة لفظ عبارة البحث (مثل مكان أو اسم تطبيق)
  2. استخدام لوحة المفاتيح لتحويل أحرف الهيراغانا إلى كانجي
  3. إعادة البحث باستخدام أحرف الكانجي
  4. الحصول أخيرًا على نتائج البحث

باستخدام واجهة برمجة التطبيقات الجديدة لتحويل النصوص، يمكن للمستخدمين اليابانيين الكتابة باللغة الهيراغانا والاطّلاع على نتائج البحث عن الكانجي مباشرةً، مع تخطّي الخطوتَين 2 و3.

ارتفاعات سطور محسّنة للنصوص البرمجية غير اللاتينية

يحسّن نظام التشغيل Android 13 عرض النصوص غير اللاتينية (مثل التاميل والبورمية والتيلوغو والتبتية) باستخدام ارتفاع سطر مُعدّ لكل لغة. تمنع ارتفاعات الأسطر الجديدة الاقتصاص وتُحسِّن موضع الأحرف. يمكن لتطبيقك الاستفادة من هذه التحسينات من خلال استهداف Android 13 فقط. احرص على اختبار تطبيقاتك عند استخدام المسافة الجديدة بين الأسطر لأنّ التغييرات قد تؤثر في واجهة المستخدم بلغات غير اللاتينية.

ارتفاعات السطور التي تم اقتصاصها في الإصدار 12 من Android (أعلاه) والتي تم الآن وضعها بشكل أفضل وعدم اقتصاصها في الإصدار 13 من Android (أسفل الصفحة).

تحسين التفاف النص باللغة اليابانية

اعتبارًا من الإصدار 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. يُستخدَم هذاالتنسيق للأرقام الكبيرة، وهو مشابه لتنسيق اللغة الفرنسية الذي تم تقديمه في الإصدار 38 من CLDR.

خطوط متجهّة بالألوان

رمز إيموجي مرسوم بتنسيق COLRv1 (على يمين الشاشة) ورمز إيموجي مرسوم بتنسيق مخطّط بكسل (على يمين الشاشة)

بدءًا من Android 13، يتضمّن النظام ميزة عرض خطوط COLR الإصدار 1 (COLRv1) ويحدّث رموز النظام التعبيرية إلى تنسيق COLRv1. ‫COLRv1 هو تنسيق خط مكتظ للغاية يتم عرضه بسرعة ووضوح بأي حجم.

بالنسبة إلى معظم التطبيقات، يتولى النظام كل شيء ويعمل معيار COLRv1 على نحو جيد. ومع ذلك، إذا كان تطبيقك ينفِّذ ميزة عرض النصوص الخاصة به ويستخدم خطوط النظام، ننصحك باختبار ميزة عرض الرموز التعبيرية.

لمزيد من المعلومات عن COLRv1، اطّلِع على المراجع التالية:

واجهة برمجة التطبيقات لعرض الإعدادات السريعة

إنّ "الإعدادات السريعة" في مربّع الإشعارات هي طريقة ملائمة للمستخدمين لتغيير الإعدادات أو اتّخاذ إجراءات سريعة بدون مغادرة سياق التطبيق. بالنسبة إلى التطبيقات التي تقدّم شرائح مخصّصة، نسهّل على المستخدمين العثور على شرائحك وإضافتها إلى "الإعدادات السريعة". باستخدام واجهة برمجة تطبيقات جديدة مخصّصة لوضع مربّعات الشاشة، يمكن لتطبيقك الآن أن يطلب من المستخدم إضافة مربّع الشاشة المخصّص مباشرةً إلى مجموعة مربّعات الشاشة النشطة ضمن "الإعدادات السريعة". يتيح مربّع حوار نظام جديد للمستخدم إضافة القطعة في خطوة واحدة، بدون مغادرة تطبيقك، بدلاً من الانتقال إلى الإعدادات السريعة لإضافتها.

مربّع حوار يسأل المستخدم عما إذا كان يريد إضافة مربّع إلى
          &quot;الإعدادات السريعة&quot;

معاينة الحافظة

بدءًا من الإصدار 13 من Android، يعرض النظام تأكيدًا مرئيًا عاديًا عند إضافة محتوى إلى الحافظة. ينفّذ التأكيد الجديد ما يلي:

  • تأكيد على أنّه تم نسخ المحتوى بنجاح
  • يوفّر معاينة للمحتوى المنسوخ.

تعمل هذه الميزة على توحيد الإشعارات المختلفة التي تعرضها التطبيقات بعد النسخ، وتمنح المستخدمين مزيدًا من التحكّم في حافظة النسخ واللصق. لمزيد من المعلومات، يُرجى الانتقال إلى صفحة ميزة النسخ واللصق.

تطبيق مصغّر للنسخ واللصق
تظهر واجهة المستخدم الجديدة عند دخول المحتوى إلى الحافظة.

إيماءة إظهار شاشة الرجوع

يقدّم Android 13 إيماءة تنبؤية للرجوع على أجهزة Android، مثل الهواتف والشاشات الكبيرة والأجهزة القابلة للطي. لتفعيل هذه الميزة، عليك تحديث تطبيقك.

للاطّلاع على مستندات تفصيلية، يُرجى الاطّلاع على مقالة تحديث تطبيقك لتفعيل لفتة التراجع العميق التوقّعية. يمكنك أيضًا تجربي الدرس التطبيقي حول الترميز.

Bluetooth LE Audio

‫Bluetooth Low Energy (LE) Audio هي تقنية صوت لاسلكي تم تصميمها لاستبدال تقنية Bluetooth الكلاسيكية وتفعيل حالات استخدام وطوبولوجيات اتصال معيّنة. وتتيح هذه التطبيقات للمستخدمين مشاركة المحتوى الصوتي وبثّه مع الأصدقاء والعائلة، أو الاشتراك في البثّ العلني للحصول على معلومات أو ترفيه أو تسهيل الاستخدام. تم تصميمه لضمان حصول المستخدمين على صوت عالي الجودة بدون التأثير في عمر البطارية، ويمكنهم التبديل بسلاسة بين حالات الاستخدام المختلفة التي لا يمكن تحقيقها باستخدام البلوتوث الكلاسيكي. بدءًا من 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

في الإصدار 13 من نظام التشغيل Android (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، تُسري أداة ART عملية التبديل من رمز التطبيقات الأصلي وإليه بشكلٍ كبير، حيث تُجري الآن طلبات JNI عمليات أسرع بمقدار 2.5 مرة. تمت أيضًا إعادة معالجة مرجع وقت التشغيل ليصبح غير حظر في معظم الأحيان، ما يؤدي إلى تقليل الارتباك بشكلٍ أكبر. بالإضافة إلى ذلك، يمكنك استخدام واجهة برمجة التطبيقات المفتوحة Reference.refersTo() لاسترداد الكائنات التي لا يمكن الوصول إليها في وقت أقرب، وستلاحظ أنّ المفسِّر أسرع الآن بفضل عمليات البحث المحسّنة عن الفئات والطُرق. تُجري أداة ART أيضًا عمليات تحقّق إضافية من رمز البايت في وقت التثبيت، ما يتجنّب تكاليف التحقّق أثناء وقت التشغيل ويحافظ على سرعات بدء تشغيل التطبيقات.

الخصوصية والأمان

تصدير أكثر أمانًا لأجهزة الاستقبال المسجَّلة بالاستناد إلى السياق

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

تتوفّر إعدادات التصدير هذه في التطبيقات التي تُجري أحد الإجراءين التاليين على الأقل:

  • استخدِم فئة ContextCompat بدءًا من الإصدار 1.9.0 أو إصدار أحدث من مكتبة AndroidX Core.
  • استهدِف الإصدار 13 من نظام التشغيل Android أو إصدارًا أحدث.

أداة اختيار الصور

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

توفّر أداة اختيار الصور خصوصية محسّنة للمستخدمين لأنّ تطبيقك ليس بحاجة إلى الإفصاح عن أي أذونات تشغيل. بالإضافة إلى ذلك، يوفّر "أداة اختيار الصور" واجهة مستخدم مدمجة ومُعَدَّة مسبقًا للتطبيقات، ما يمنح المستخدمين تجربة متّسقة.

إذن تشغيل جديد لأجهزة Wi-Fi المجاورة

يقدّم الإصدار 13 من نظام التشغيل Android (المستوى 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 في ما يتعلّق بالدوران. على وجه التحديد، يتيح مخطّط التوقيع في الإصدار 3.1 استهداف إصدار حزمة تطوير البرامج (SDK)، ما يسمح بالتناوب لاستهداف إصدار أحدث من المنصة.

يستخدم نظام التوقيع في الإصدار 3.1 رقم تعريف حظر لا يتم التعرّف عليه على الإصدار 12L أو الإصدارات الأقدم. لذلك، تطبّق المنصة سلوك الموقّع التالي:

  • تستخدم الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو إصدار أحدث الموقّع المتغيّر في الحزمة 3.1.
  • تتجاهل الأجهزة التي تعمل بإصدارات قديمة من Android الموقّع الذي تمّت بدالته ويستخدم بدلاً من ذلك الموقّع الأصلي في مجموعة التوقيعات من الإصدار 3.0.

لا تتطلّب التطبيقات التي لم يتم استبدال مفتاح توقيعها بعد أي إجراء إضافي. عندما تختار هذه التطبيقات التبديل، يطبّق النظام مخطّط التوقيع v3.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 الآن مؤشرات أخطاء أكثر تفصيلاً وermatًا. أضفنا تسلسلاً هرميًا لفئة الاستثناءات ضمن java.security.ProviderException، مع استثناءات خاصة بنظام Android تشمل رموز أخطاء Keystore/KeyMint، وما إذا كان من الممكن إعادة محاولة الخطأ. يمكنك أيضًا تعديل طرق إنشاء المفتاح واستخدامه (التوقيع والتشفير) لطرح الاستثناءات الجديدة. لا تقتصر ميزة reporting reporting المحسّنة على إنشاء المفاتيح، ومن المفترض أن تمنحك الآن ما تحتاجه لإعادة محاولة إنشاء المفاتيح.

إتاحة استخدام الأجهزة اللوحية والشاشات الكبيرة

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

لمزيد من المعلومات حول الميزات الجديدة والعناصر التي يجب اختبارها، يُرجى الاطّلاع على صفحة توافق الأجهزة اللوحية والشاشات الكبيرة.

الرسومات

عوامل التظليل القابلة للبرمجة

أداة تظليل متحركة لبرنامج AGSL، تمّت إعادة استخدامها من أداة تظليل GLSL.

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

تحسينات على ميزة "مصمّم الرقصات"

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

إذا كان تطبيقك يستخدم الطريقتَين Choreographer وSurfaceControl الجديدتَين، يمكنك عرض دورة حياة اللقطات في التطبيق في عملية تتبُّع Perfetto.

الكاميرا

تسجيل فيديوهات بنطاق عالي الديناميكية (HDR)

اعتبارًا من الإصدار 13 من Android، تتيح واجهات برمجة التطبيقات Camera2 التقاط فيديو بنطاق عالي الديناميكية (HDR)، ما يتيح لك معاينة محتوى الفيديو بنطاق عالي الديناميكية باستخدام الكاميرا وتسجيله. مقارنةً بنطاق SDR الديناميكي العادي، يوفّر نطاق HDR الديناميكي نطاقًا أوسع من الألوان ويزيد من النطاق الديناميكي لمكوّن الإضاءة (من 100 cd/m2 الحالي إلى 1000 من cd/m2). ويؤدي ذلك إلى جودة فيديو تشبه الواقع بشكل أكبر، مع ألوان أكثر ثراءً وإبرازات أكثر إشراقًا وظلّال أغمق.

لمزيد من المعلومات عن تسجيل الفيديوهات بنطاق عالي الديناميكية، يُرجى الاطّلاع على مستندات تسجيل الفيديوهات بنطاق عالي الديناميكية.

الوسائط

الصوت المكاني

الصوت المكاني هو تجربة صوتية غامرة تجعل محتوى الوسائط يبدو أكثر واقعية للمستخدمين. يمكنك الاطّلاع على مستندات الصوت المكاني لمعرفة تفاصيل حول كيفية دمج هذه الميزة.

التوجيه الصوتي التوقّعي

لمساعدة تطبيقات الوسائط في تحديد كيفية توجيه الصوت، يوفّر الإصدار 13 من Android واجهات برمجة تطبيقات لتوجيه الصوت في فئة AudioManager. تتيح لك واجهة برمجة التطبيقات getAudioDevicesForAttributes() استرداد قائمة بالأجهزة التي يمكن استخدامها لتشغيل المقطع الصوتي المحدّد، وتساعدك واجهة برمجة التطبيقات getDirectProfilesForAttributes() في معرفة ما إذا كان يمكن تشغيل البث الصوتي مباشرةً. استخدِم واجهات برمجة التطبيقات هذه لتحديد أفضل AudioFormat لاستخدامه في مقطعك الصوتي.

تسهيل الاستخدام

الوصف الصوتي

يقدّم الإصدار 13 من نظام التشغيل Android (المستوى 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 للمتغيّرات المحلية وكمَعلمات لامدا
  • طرق جديدة في فئة 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 API باستخدام VarHandle داخليًا

Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو شركائها التابعين.