يقدّم Android 13 ميزات وواجهات برمجة تطبيقات جديدة رائعة للمطوّرين. الأقسام أدناه للتعرف على ميزات تطبيقاتك وبدء استخدام لواجهات برمجة التطبيقات ذات الصلة.
للحصول على قائمة مفصّلة بواجهات برمجة التطبيقات الجديدة والمعدّلة والمُزالة، يُرجى الاطّلاع على تقرير اختلاف واجهة برمجة التطبيقات للحصول على تفاصيل عن واجهات برمجة التطبيقات الجديدة انتقل إلى مرجع واجهة برمجة تطبيقات Android — يتم تمييز واجهات برمجة التطبيقات الجديدة مستوى الرؤية. يمكنك أيضًا التعرّف على الجوانب التي قد تؤدي إلى تغييرات في النظام الأساسي للتأثير في تطبيقاتك، يُرجى الاطّلاع على التغييرات في سلوك Android 13 المتعلقة بالتطبيقات تستهدف الإصدار 13 من نظام التشغيل Android ولجميع .
أدوات وإنتاجية المطوّرين
رموز تطبيقات مستوحاة من موضوع معيّن
بدءًا من الإصدار 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()
واجهات برمجة التطبيقات للإحالات الناجحة النصية
يستخدم الأشخاص الذين يتحدثون لغات مثل اليابانية والصينية الحروف الصوتية والتي غالبًا ما تؤدي إلى إبطاء البحث وميزات مثل إتمام المشروع. في Android 13، يمكن للتطبيقات الاتصال بالإحالة النصية الجديدة واجهة برمجة التطبيقات بحيث يمكن للمستخدمين التي يبحثون عنها بشكل أسرع وأسهل في السابق، على سبيل المثال، كان البحث يتطلب من مستخدم ياباني تنفيذ الخطوات التالية:
- يجب إدخال هيراغانا باعتباره اللفظ الصوتي لعبارة البحث (مثل مكان أو اسم تطبيق)
- استخدِم لوحة المفاتيح لتحويل أحرف هيراغانا إلى كانجي
- إعادة البحث باستخدام أحرف "كانجي"
- وأخيرًا الحصول على نتائج البحث
باستخدام واجهة برمجة التطبيقات الجديدة لتحويل النص، يمكن للمستخدمين اليابانيين كتابة هيراغانا على الفور، مشاهدة نتائج بحث كانجي مباشرة، مع تخطي الخطوتين 2 و3.
تم تحسين ارتفاعات الأسطر للنصوص البرمجية غير اللاتينية.
يحسّن Android 13 عرض النصوص غير اللاتينية (مثل التاميلية والبورمية والتيلوغوية والتبتية) باستخدام ارتفاع سطر يتناسب مع كل لغة. تمنع ارتفاعات الأسطر الجديدة اقتصاص الأحرف وتحسين موضع الأحرف. ويمكن لتطبيقك الاستفادة من هذه التحسينات فقط من خلال استهداف نظام التشغيل Android 13. احرص على اختبار تطبيقاتك عند استخدام تباعد الأسطر الجديد نظرًا لأن التغييرات قد تؤثر على واجهة المستخدم باللغات غير اللاتينية.
تحسين التفاف النص باللغة اليابانية
بدءًا من Android 13، يمكن لـ TextViews التفاف النص حسب "بونسيتسو" (أصغر وحدة من الكلمات الصوتية.
طبيعية) أو عبارات، بدلاً من الحروف الحروف، لجعلها أكثر دقة وقابلية للقراءة
التطبيقات اليابانية. يمكنك الاستفادة من هذا الالتفاف باستخدام
android:lineBreakWordStyle="phrase"
باستخدام TextViews.
تعديلات مكتبة يونيكود
يضيف Android 13 أحدث التحسينات والإصلاحات والتغييرات المضمّنة في الإصدار 13 من نظام التشغيل Android. Unicode ICU 70، Unicode CLDR 40، وUnicode 14.0.
في ما يلي بعض التغييرات البارزة:
- الإنجليزية (كندا)
en‑CA
والإنجليزية (جمهورية الفلبين)en‑PH
تستخدم كلتاهما اللغة الإنجليزية (الولايات المتحدة)en
موارد الترجمة في حال عدم توفّر أي موارد ترجمة بدلاً من الإنجليزية (المملكة المتحدة)en‑GB
. - تم تقديم فئة الجمع
many
للّغة الإسبانيةes
والإيطاليةit
. البرتغاليةpt
والبرتغالية (البرتغال)pt‑PT
. مشابه باللغة الفرنسية التي تم تقديمها في الإصدار 38 من CLDR يستخدم هذا مع الأرقام الكبيرة.
خطوط متّجه الألوان
بدءًا من الإصدار 13 من Android، سيوفّر النظام إمكانية عرض الإصدار 1 من COLR. (COLRv1) الخطوط وتحديثات الرموز التعبيرية للنظام إلى تنسيق COLRv1. يُعد COLRv1 تنسيق خط مضغوط يمكن عرضه بسرعة ووضوح بأي حجم.
بالنسبة إلى معظم التطبيقات، يعالج النظام كل شيء ويعمل COLRv1 فقط. ومع ذلك، إذا كان تطبيقك ينفذ عرض النص الخاص به ويستخدم خطوط النظام، في اختبار عرض الرموز التعبيرية.
لمعرفة المزيد عن COLRv1، يمكنك الاطّلاع على الموارد التالية:
واجهة برمجة تطبيقات موضع الإعدادات السريعة
"الإعدادات السريعة" في مركز الإشعارات هي طريقة سهلة تتيح للمستخدمين تغيير الإعدادات. الإعدادات أو اتخاذ إجراءات سريعة دون مغادرة سياق التطبيق. بالنسبة إلى التطبيقات التي توفّر مربّعات مخصّصة نحن نسهِّل على المستخدمين اكتشاف المربّعات وإضافتها إلى ميزة "التشغيل السريع". الإعدادات. استخدام علامة واجهة برمجة تطبيقات موضع عرض المربّعات، يمكن لتطبيقك الآن أن يطلب من المستخدم إضافة مربّعك المخصّص مباشرةً إلى مجموعة من مربّعات الإعدادات السريعة النشطة يسمح مربّع حوار النظام الجديد للمستخدم بإضافة المربع في خطوة واحدة، بدون مغادرة التطبيق، بدلاً من الانتقال إلى قسم "التشغيل السريع" إعدادات إضافة المربّع
معاينة الحافظة
بدءًا من Android 13، يعرض النظام تأكيدًا مرئيًا عاديًا عندما أو تمت إضافة المحتوى إلى الحافظة. يؤدي التأكيد الجديد إلى ما يلي:
- للتأكُّد من نسخ المحتوى بنجاح.
- يتيح هذا الخيار معاينة المحتوى الذي تم نسخه.
تعمل هذه الميزة على توحيد الإشعارات المختلفة التي تعرضها التطبيقات بعد نسخها. وتوفر للمستخدمين المزيد من التحكم في الحافظة. لمزيد من المعلومات، انتقِل إلى ميزة النسخ واللصق. .
إيماءة توقّع شاشة الرجوع
يوفّر Android 13 إيماءة توقّعية الرجوع إلى الشاشة للأجهزة التي تعمل بنظام التشغيل Android، مثل والهواتف والشاشات الكبيرة والأجهزة القابلة للطي. يتطلب دعم هذه الميزة منك: حدِّث التطبيق.
للاطّلاع على المستندات التفصيلية، يمكنك الاطّلاع على تحديث تطبيقك لإتاحة ميزة الرجوع التنبؤي. إيماءة. يمكنك أيضًا تجربة الدرس التطبيقي حول الترميز
Bluetooth LE Audio
نظام الصوت المنخفض الطاقة (LE) هو صوت لاسلكي مصمَّم لاستبداله الإصدار الكلاسيكي من البلوتوث وتفعيل بعض حالات الاستخدام وخطط الاتصال أُنشأها جون هنتر، الذي كان متخصصًا يسمح للمستخدمين بمشاركة المحتوى الصوتي وبثه للأصدقاء والعائلة، أو الاشتراك في عمليات البث العامة للحصول على المعلومات أو الترفيه أو إمكانية الوصول. وهي مصممة لضمان إمكانية استقبال المستخدمين للصوت عالي الدقة بدون قد يؤدي ذلك إلى تقليل عمر البطارية، كما يمكن التبديل بسلاسة بين استخدامات مختلفة الحالات التي يتعذّر فيها استخدام البلوتوث الكلاسيكي. بدءًا من نظام التشغيل Android 13، يتضمّن توافقًا مضمّنًا مع LE Audio، لذا يحصل المطوّرون على هذه والإمكانيات المجانية على الأجهزة المتوافقة.
الإصدار 2.0 من MIDI
بدءًا من Android 13، سيتوافق النظام مع معيار MIDI 2.0، بما في ذلك القدرة على توصيل أجهزة MIDI 2.0 عبر USB. هذا المعيار تقدم ميزات مثل زيادة الدقة لوحدات التحكم ودعم أفضل واستخدام تعبيرات غير غربية وأداء أكثر تعبيرًا باستخدام كل ملاحظة ووحدات التحكم.
تحسينات على كفاءة شاشة البداية
Android 13 يحسّن كفاءة شاشات البداية المتحركة في لعبة Splash واجهة برمجة تطبيقات الشاشة:
يستنتج النظام مدة الحركة مباشرة من
AnimatedVectorDrawable
قبل إطلاق نظام Android 13، كان من الضروري ضبطwindowSplashScreenAnimationDuration
مباشرةًاستخدام السمة
windowSplashScreenBehavior
الجديدة للتحكّم بشكل أكبر في ما إذا كان تطبيقك يعرض دائمًا الرمز على شاشة البداية في Android 13 وأعلى.
للاطلاع على المستندات التفصيلية، يمكنك الاطّلاع على شاشات البداية.
تحسينات ART
في نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، تتيح تكنولوجيا ART التبديل إلى التطبيقات الأصلية ومنها
الرمز بسرعة أكبر بكثير، مع طلبات JNI الآن بسرعة تصل إلى 2.5 مرة. مرجع بيئة التشغيل
على المعالجة أيضًا لجعلها في الغالب لا تؤدي إلى حجب البيانات،
ويقلل من البيانات غير المتوقعة. بالإضافة إلى ذلك، يمكنك استخدام صفحة
Reference.refersTo()
عامة API لاسترداد العناصر التي لا يمكن الوصول إليها بشكل أسرع، وستلاحظ
أصبحت ميزة "الترجمة الفورية" أسرع الآن بفضل عمليات البحث المحسّنة عن الفئات والأساليب. 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 القريبة.
إذن جديد لاستخدام المنبّهات المحدَّدة الوقت
إذا كان تطبيقك يستهدف نظام التشغيل Android 13 أو الإصدارات الأحدث، يمكنك استخدام
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 أو أقل. وبالتالي، تطبّق المنصة السلوك التالي للموقِّع:
- تستخدم الأجهزة التي تعمل بنظام التشغيل 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، بما في ذلك تحسينات على واجهة مستخدم النظام، وتحسين أداء المهام المتعددة، وأوضاع التوافق المحسَّنة. كجزء من الاختبار، تأكَّد من أنّ تطبيقاتك في الظهور بأفضل صورة على الأجهزة اللوحية وغيرها من الأجهزة ذات الشاشات الكبيرة.
لمزيد من المعلومات عن الميزات الجديدة والنتائج التي يجب اختبارها، يُرجى الاطّلاع على إتاحة استخدام الأجهزة اللوحية والشاشات الكبيرة .
الرسومات
أدوات التظليل القابلة للبرمجة
بدءًا من Android 13، سيدعم النظام البرامج القابلة للبرمجة.
كائنات RuntimeShader
، مع
السلوك باستخدام لغة تظليل رسومات Android
(AGSL) مشاركات AGSL
بمعظمها باستخدام GLSL، إلا أنها تعمل ضمن محرك عرض Android
تخصيص الرسم ضمن لوحة Android بالإضافة إلى فلترة محتوى العرض.
يستخدم Android داخليًا أدوات التظليل هذه لتنفيذ
التأثيرات المموجة
تمويه
أو
زيادة تكبير المحتوى
يتيح لكم الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث إنشاء تأثيرات متقدّمة مشابهة
التطبيق.
تحسينات على مصمّمي الرقص
يوفِّر Android 13 طرقًا عامة لواجهة برمجة التطبيقات
Choreographer
و
ASurfaceControl
التي
تزويد التطبيقات بمزيد من المعلومات حول المخططات الزمنية المحتملة للإطارات وإضافة
المزيد من السياق
SurfaceFlinger
حول دورة حياة الإطار. كما في السابق، يمكن للتطبيقات
نشر رد اتصال
إلى Choreographer
وتلقّي معلومات المخطط الزمني للإطار. في Android 13 (واجهة برمجة التطبيقات)
المستوى 33)، تعرض Choreographer
أوقات عرض متعددة محتملة
المواعيد النهائية المقابلة للإطارات. يمكن للتطبيقات اختيار وقت العرض التقديمي
بعد ذلك
إرسال إشعار إلى SurfaceFlinger
المحدد. بعد ذلك، لا يحاول SurfaceFlinger
تطبيق المعاملات أو
المزلاجات الاحتياطية قبل وقت العرض التقديمي المطلوب.
الكاميرا
التقاط فيديو بنطاق عالي الديناميكية
بدءًا من نظام التشغيل Android 13، واجهات برمجة تطبيقات Camera2 التقاط الفيديو بنطاق عالي الديناميكية (HDR)، ما يتيح لك معاينة وتسجيل محتوى فيديو بنطاق عالي الديناميكية (HDR) باستخدام الكاميرا. مقارنةً بالنطاق الديناميكي العادي النطاق (SDR)، أو النطاق العالي الديناميكية (HDR) الذي يوفّر مجموعة أكبر من الألوان ويزيد من النطاق الديناميكي من عنصر الإضاءة (من 100 قرص مضغوط/متر مربع الحالي إلى 1000 قرص مضغوط/متر مربع). وينتج عن ذلك جودة فيديو تتطابق بشكل أوثق مع الحياة الواقعية، فضلاً عن والألوان والإبرازات الأكثر سطوعًا والظلال الداكنة.
لمزيد من المعلومات حول التقاط الفيديوهات بتقنية 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
للمتغيرات المحلية وكمعلمات lambdas. طُرق جديدة في فئة السلسلة:
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 و/أو الشركاء التابعين