تلخّص هذه الصفحة الميزات الرئيسية في إصدار Android 10، وتوفّر روابط تؤدي إلى معلومات إضافية. يتم تنظيم ملخّصات الميزات هذه وفقًا لمكان توفّر مستندات الميزة على هذا الموقع الإلكتروني.
إنشاء
java_sdk_library
يقدّم نظام التشغيل Android 10
java_sdk_library، وهي قاعدة إنشاء جديدة
لحلّ مشاكل التوافق في مكتبات Java المشترَكة. يمكن لمصنّعي الأجهزة استخدام هذه الآلية لمكتبات Java المشتركة الخاصة بهم من أجل الحفاظ على التوافق مع الإصدارات القديمة لواجهات برمجة التطبيقات.
هندسة معمارية
مكوّنات النظام النموذجية
يُقسِّم نظام التشغيل Android 10 بعض مكونات نظام Android إلى وحدات ويتيح تحديثها خارج دورة الإصدار العادية لنظام Android. تشمل بعض الوحدات ما يلي:
- Android Runtime
- Conscrypt
- برنامج تعيين نظام أسماء النطاقات
- DocumentsUI
- ExtServices
- الوسائط
- ModuleMetadata
- التواصل
- PermissionController
- بيانات المنطقة الزمنية
طبقة تجريد الأجهزة (HAL)
يضيف نظام التشغيل Android 10 إمكانية إيقاف تشغيل طبقات تجريد الأجهزة (HAL) تلقائيًا عندما لا يكون لديها أي عملاء.
Kernel
ABI
يتضمّن نظام التشغيل Android 10 إمكانية استخدام أدوات جديدة لمراقبة واجهة التطبيق الثنائية (ABI) للمساعدة في مقارنة التغييرات في واجهة التطبيق الثنائية للنواة وتتبُّعها والحدّ من تأثيرها، وذلك لأنّ هذه التغييرات تؤثّر في التوافق مع وحدات النواة.
يقدّم نظام التشغيل Android 10 أيضًا أداة فحص لاستخدامات واجهة التطبيق الثنائية (ABI) تستند إلى الرموز. يمكن لأداة التحقّق رصد الثنائيات المسبقة الإنشاء القديمة أثناء مدّة التصميم، ما يتيح لمطوّري المكتبات المشتركة معرفة الثنائيات المسبقة الإنشاء التي قد تتأثر بالتغيير الذي أجرَوه، والثنائيات المسبقة الإنشاء التي يجب إعادة إنشائها.
برنامج Live-Lock Daemon لنظام التشغيل Android
يتضمّن نظام التشغيل Android 10 برنامج Android Live-Lock Daemon (llkd)، المصمَّم لرصد حالات التعطّل التام في النواة والحدّ منها.
vDSO32 على ARM64
يتيح نظام التشغيل Android 10 استخدام vDSO32 على أنظمة التشغيل 64 بت، ما يؤدي إلى زيادة عمر البطارية بنسبة %0.4 وتحسينات أخرى على الأداء.
إدخالات fstab للأقسام التي يتم تركيبها مبكرًا
يتطلّب نظام التشغيل Android 10 أن تحدّد الأجهزة إدخالات fstab
للأقسام التي يتم تحميلها مبكرًا
باستخدام ملف fstab في ذاكرة الوصول العشوائي (ramdisk) للمرحلة الأولى.
HIDL
Offload BroadcastQueue
يتضمّن نظام التشغيل Android 10 قائمة انتظار نقل البيانات BroadcastQueue
جديدة بالإضافة إلى قائمتَي الانتظار في الخلفية وفي المقدّمة الحالية. تتضمّن قائمة الانتظار الخاصة بنقل البيانات
الأولوية نفسها والسلوك نفسه المتعلّق بانتهاء المهلة كما هو الحال في قائمة الانتظار في الخلفية. لمنع حظر قائمة الانتظار في الخلفية، حيث يمكن أن تحدث عمليات بث أكثر إثارة للاهتمام أو مرئية للمستخدم، تتولّى قائمة الانتظار الخاصة بالتحميل عملية البث BOOT_COMPLETED التي تستمع إليها العديد من التطبيقات وقد تستغرق وقتًا طويلاً لإكمالها.
لا يتعامل حاليًا صف إيقاف التحميل مؤقتًا إلا مع بث BOOT_COMPLETED، ولكن يمكنه التعامل مع عمليات بث طويلة أخرى.
خدمة SystemSuspend
يستبدل نظام التشغيل Android 10 سلسلة التعليمات في libsuspendالمسؤولة عن بدء تعليق النظام بخدمة SystemSuspend HIDL. يوفّر هذا التنفيذ وظائف مكافئة للإصدارات السابقة مع الاستفادة من مزايا بنية Android HIDL الأساسية.
safe_union في HIDL
يقدّم نظام التشغيل Android 10
safe_union، وهو نوع اتحاد
يتم وضع علامات عليه بشكل صريح، في HIDL.
الإعداد
طبقة تجريد الأجهزة (HAL) الخاصة بـ ConfigStore
في نظام التشغيل Android 10، تم إيقاف طبقة تجريد الأجهزة (HAL) الخاصة بـ ConfigStore نهائيًا بسبب ارتفاع معدّل استهلاك الذاكرة وصعوبة الاستخدام، وتم استبدالها بخصائص النظام.
Config File Schema API
يحتوي نظام Android الأساسي على عدد كبير من ملفات XML لتخزين بيانات الإعداد. توجد العديد من ملفات XML في القسم vendor، ولكن تتم قراءتها في القسم system. في هذه الحالة، يعمل مخطط ملف XML كواجهة بين القسمين، وبالتالي يجب تحديد المخطط بشكل صريح ويجب أن يتطوّر بطريقة متوافقة مع الإصدارات السابقة. قبل الإصدار 10 من نظام التشغيل Android، لم تكن المنصة توفّر آليات
تتطلّب تحديد واستخدام مخطّط XML أو تمنع إجراء تغييرات غير متوافقة
في المخطّط. يوفر نظام التشغيل Android 10 هذه الآلية،
التي تُعرف باسم
Config File Schema API.
سمات النظام كواجهات برمجة تطبيقات
يتم وضع خصائص النظام التي يتم الوصول إليها في جميع الأقسام في مخططات ضمن ملفات وصف sysprop، ويتم إنشاء واجهات برمجة التطبيقات للوصول إلى الخصائص كدوال ملموسة للغة C++ وفئات للغة Java.
عنصر واجهة المورّد (VINTF)
VINTF
تشمل التغييرات التي تم إجراؤها على VINTF في نظام التشغيل Android 10 ما يلي:
- إيقاف علامات إصدار AVB نهائيًا
- إضافة معلومات النواة في حِزم تحديثات عبر الهواء
- إنشاء بيانات ODM رسميًا
- إضافة مصفوفة توافق المنتجات
- ربط إدخال بيان بوحدة طبقة تجريد الأجهزة (HAL) في نظام التصميم
برنامج الإقلاع
Ramdisk
في نظام التشغيل Android 10، لم يعُد نظام ملفات الجذر مضمّنًا في ramdisk.img، بل تم دمجه في system.img.
إنشاء أقسام ميزة "قياس الإحالات الناجحة على الجهاز فقط"
يتضمّن نظام التشغيل Android 10 إمكانية
إنشاء odm أقسام
باستخدام نظام الإصدار Android. يمكنك استخدام قسم /odm منفصل للتخصيصات، ما يتيح لك استخدام صورة واحدة من المورّد لرموز تخزين تعريفية متعددة للأجهزة. يتيح ذلك لمصنّعي التصاميم الأصلية (ODM) تخصيص حِزم دعم اللوحات (BSP) الخاصة بمورّدي المنظومة على الرقاقة (SoC) لتناسب أجهزتهم المحدّدة (لوحاتهم). ويمكنهم تنفيذ وحدات نواة لمكوّنات خاصة باللوحة أو برامج خفية خاصة باللوحة أو ميزاتهم الخاصة على طبقات تجريد الأجهزة (HAL). وقد يستبدلون أيضًا مكونات منظومة على رقاقة (SoC) أو يخصّصونها.
إصدارات عنوان صورة التشغيل
يعدّل نظام التشغيل Android 10 عنوان صورة التمهيد إلى الإصدار 2، والذي يتضمّن قسمًا لتخزين صورة حزمة شجرة الجهاز (DTB). تتحقّق اختبارات VTS في Android 10 من أنّ جميع الأجهزة التي تعمل بنظام التشغيل Android 10 تستخدم الإصدار 2 من عنوان صورة التمهيد وتتضمّن صورة DTB صالحة كجزء من صور التمهيد/الاسترداد.
صور الاسترداد للأجهزة غير المتوافقة مع بنية A/B
في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، يجب أن تحتوي صورة الاسترداد الخاصة بالجهاز على معلومات من صورة التراكب. يمكن لمصنّعي الأجهزة استخدام DeviceTree أو Advanced Configuration and Power Interface (ACPI) لوصف جميع الأجهزة غير القابلة للاكتشاف. يتوافق نظام التشغيل Android 10 والإصدارات الأحدث مع البِنى التي تستخدم واجهة ACPI بدلاً من كائن ثنائي كبير لطبقة التراكب (DTBO) في DeviceTree.
Stable AIDL
يوفّر نظام التشغيل Android 10 إمكانية استخدام لغة تعريف واجهة Android (AIDL) الثابتة، وهي طريقة جديدة لتتبُّع واجهة برمجة التطبيقات (API) أو واجهة التطبيق الثنائية (ABI) التي توفّرها واجهات AIDL.
نقل fastboot إلى مساحة المستخدم
يتيح نظام التشغيل Android 10 إمكانية تغيير حجم الأقسام من خلال نقل تنفيذ fastboot من برنامج التشغيل إلى مساحة المستخدم.
الشاشة
تشغيل فيديوهات HDR
يتوافق نظام التشغيل Android 10 مع تشغيل محتوى HDR10 وVP9 وHDR10+.
تصنيف النصوص
تستخدم تصنيف النصوص تقنيات تعلُّم الآلة لمساعدة المطوّرين في تصنيف النصوص. يقدّم نظام التشغيل Android 10 طريقتَين لواجهة برمجة التطبيقات TextClassifier API، وهما:
suggestConversationActions
وdetectLanguage.
تنشئ الطريقة suggestConversationActions الردود والإجراءات المقترَحة
من محادثة معيّنة، بينما ترصد الطريقة detectLanguage لغة النص.
التوافق مع عرض خط Zawgyi
Zawgyi هو الخط الأكثر شيوعًا في ميانمار، ولكن لم يكن نظام التشغيل Android 9 والإصدارات الأقدم متوافقًا مع عرض Zawgyi لأنّه لا يتوافق مع معيار Unicode. يتيح نظام التشغيل Android 10 إمكانية عرض كل من Unicode Burmese وZawgyi معًا من خلال تضمين خط Unicode. لا يلزم إجراء أي خطوات لتفعيل عرض خط Zawgyi على الأجهزة التي تعمل بنظام Android 10. إذا كانت أجهزتك تتضمّن عملية تنفيذ مخصّصة لدعم Zawgyi، يمكنك إجراء ما يلي:
- يُرجى التراجع عن هذه التغييرات واستخدام الطريقة المتوافقة مع النظام الأساسي.
- احتفِظ بخط Zawgyi الشائع في نظامك واستخدِم رمز اللغة
my-qaagفيfonts.xml. لمزيد من المعلومات، يُرجى الاطّلاع على ملاحظات إصدار Unicode CLDR بشأن Zawgyi (Qaag).
القيود المفروضة على إخفاء رموز التطبيقات
يحدّ نظام التشغيل Android 10 من إمكانية إخفاء التطبيقات لرموز مشغّل التطبيقات. إذا لم يكن للتطبيق نشاط مشغّل مفعّل، يعرض النظام نشاطًا مركّبًا في المشغّل، ويمثّل هذا النشاط المركّب صفحة تفاصيل التطبيق ضمن إعدادات النظام.
لمزيد من المعلومات حول المنطق المستخدَم لعرض رموز التطبيقات، بما في ذلك أنواع التطبيقات التي لا يتم عرض رموزها، يمكنك الاطّلاع على مستندات getActivityList() في مرجع واجهة برمجة التطبيقات.
الإعدادات
لتحسين إمكانية الوصول، يتضمّن نظام التشغيل Android 10 إعدادات مهلة يمكن للمستخدم تخصيصها. تتوفّر التغييرات في واجهة برمجة التطبيقات والإعدادات مع نظام التشغيل Android 10. إذا خصّصت إعداداتك، تأكَّد من أنّ هذه الميزة متاحة. إذا كانت لديك عناصر واجهة مستخدم تنتهي مهلتها على جهازك، استخدِم واجهة برمجة التطبيقات الخاصة بمهل انتهاء النشاط مع هذه العناصر. لمزيد من المعلومات، يمكنك الاطّلاع على إرشادات تسهيل الاستخدام للمطوّرين على Android.
التوافق
مستند تعريف معايير التوافق مع Android (CDD)
يستند مستند تعريف التوافق لنظام التشغيل Android 10 إلى الإصدارات السابقة مع تضمين تحديثات للميزات الجديدة وتغييرات في متطلبات الوظائف التي تم إصدارها سابقًا.
الاختبارات
مجموعة أدوات اختبار التوافق (CTS)
يتضمّن اختبار التوافق (CTS) على Android صفحة ملاحظات إصدار منفصلة تسرد العديد من التغييرات المهمة في الإصدار 10 من نظام التشغيل Android.
عمليات تنزيل مجموعة أدوات اختبار التوافق (CTS)
تتوفّر حِزم مجموعة أدوات اختبار التوافق (CTS) المتوافقة مع Android 10 على صفحة عمليات تنزيل مجموعة أدوات اختبار التوافق (CTS). يمكن مزامنة رمز المصدر للاختبارات المضمّنة مع العلامة android-cts-10_r1 في بنية المصدر المفتوح.
CTS shim APEX
يقدّم نظام التشغيل Android 10 حزمة باسم CtsShimApex،
يجب تثبيتها مسبقًا على الجهاز لكتابة اختبارات CTS لإدارة APEX.
وضع مفعِّل الاختبار
يساعد وضع "مفعِّل اختبار" في مجموعة أدوات اختبار التوافق المطوّرين في برمجة اختبار جهاز أو مجموعة من الأجهزة.
وضع "التطبيقات الفورية"
بدءًا من Android 10، يتم تشغيل مجموعة اختبارات التوافق في وضع التطبيقات الفورية، ما يعني تثبيت حزمة APK الخاصة بالاختبار كتطبيق فوري وتشغيل الاختبارات.
بالإضافة إلى وضع "مجموعة أدوات اختبار التوافق" (CTS) للتطبيقات الفورية، يتضمّن نظام التشغيل Android 10 أداة CTS Verifier للتطبيقات الفورية.
اختبار الصوت الاحترافي في أداة التحقّق في مجموعة أدوات اختبار التوافق (CTS)
يضيف نظام التشغيل Android 10 اختبارًا في CTS Verifier للتأكّد من التوافق مع ميزة "الصوت الاحترافي".
اختبارات MIDI في أداة التحقّق من مجموعة أدوات اختبار التوافق (CTS)
في نظام التشغيل Android 10، يختبر اختبار MIDI في CTS Verifier وظائف MIDI باستخدام واجهات MIDI عبر USB وواجهات MIDI عبر البلوتوث ومسار جهاز MIDI وهمي.
تفسير اختبار مجموعة أدوات اختبار التوافق (CTS)
يعدّل نظام التشغيل Android 10 آلية تفسير نتائج مجموعة أدوات اختبار التوافق (CTS).
مجموعة اختبارات المورِّدين (VTS)
اختبار VTS باستخدام ramdisk لتصحيح الأخطاء
في نظام التشغيل Android 10، يتغيّر نوع التصميم من userdebug إلى user في صورة النظام العامة (GSI) المستخدَمة في إجراء اختبارات التوافق مع CTS-on-GSI/VTS، وذلك لأنّ GSI يتم توقيعها عند الإصدار. ومع ذلك، فإنّ الأمر adb root الذي يمنح المضيف أذونات الجذر لجهاز Android قيد الاختبار غير متاح في إصدار المستخدم. وهذه مشكلة لأنّ VTS يتطلّب adb root للتشغيل.
تم طرح ramdisk لتصحيح الأخطاء بهدف إتاحة adb root في حال كان الجهاز غير مقفل. ويؤدي ذلك إلى تبسيط عملية الاختبار من خلال إعادة استخدام إصدار المستخدم نفسه system.img (إما GSI أو system.img الخاص بالشركة المصنّعة للجهاز الأصلي).
التحقّق من صحة Hardware Composer
يضيف نظام التشغيل Android 10 فئة اختبار جديدة في VTS للتحقّق من صحة Hardware Composer من خلال واجهة readback في IComposerClient.hal.
إذا لم ينفّذ البائعون readback، ستجتاز الاختبارات تلقائيًا.
تصحيح الأخطاء
تحميل المكتبات المشترَكة باستخدام أدوات تحميل مختلفة للفئات
في نظام التشغيل Android 9 والإصدارات الأقدم، كانت التطبيقات تحمّل مكتبات Java المشتركة المرتبطة بها في أداة تحميل الفئات الخاصة بالتطبيق. في نظام التشغيل Android 10، يستخدم إطار العمل أداة تحميل فئات مختلفة عن أداة تحميل فئات التطبيق لتحميل مكتبات Java المشترَكة المرتبطة من خلال uses-library أو uses-static-library.
بشكل عام، لا يجب أن تعتمد التطبيقات على استخدام أداة تحميل فئات معيّنة، لذا من المفترض ألا يؤدي هذا التغيير إلى تعطيل سلوك التطبيق. ومع ذلك، إذا كان التطبيق يعتمد على استخدام أداة تحميل صف واحد، سيتم إيقاف هذا السلوك. بالإضافة إلى ذلك، لا يزال بإمكانك ضبط مستوى رؤية الفئات على مستوى الحزمة نفسها، ولكن لا يمكنك ضبطه في المكتبات المشتركة.
قد يواجه مصنّعو الأجهزة مشاكل في توافق التطبيقات أثناء اختبار أجهزتهم التي تعمل بنظام التشغيل Android 10.
ميزات الأمان
للاطّلاع على قائمة أكثر شمولاً بالتحسينات المتعلّقة بالأمان والخصوصية فقط، يُرجى الانتقال إلى صفحة تحسينات الأمان والخصوصية في Android 10.
المصادقة بالوجه
تتيح مصادقة الوجه للمستخدمين فتح قفل أجهزتهم ببساطة من خلال النظر إلى الجزء الأمامي من الجهاز. يتيح نظام التشغيل Android 10 استخدام حزمة جديدة للتعرّف على الوجه يمكنها معالجة لقطات الكاميرا بأمان، مع الحفاظ على الأمان والخصوصية أثناء التعرّف على الوجه على الأجهزة المتوافقة. يوفّر نظام التشغيل Android 10 أيضًا طريقة سهلة لتفعيل عمليات الدمج في التطبيقات لإجراء معاملات، مثل الخدمات المصرفية على الإنترنت أو غيرها من الخدمات، وذلك بما يتوافق مع متطلبات الأمان.
إمكانية الوصول الموسّع
يمكن للوكلاء المعتمَدين، وهم الآلية الأساسية التي تستخدمها آليات المصادقة الثانوية، مثل Smart Lock، تمديد فتح القفل في نظام التشغيل Android 10 فقط. لم يعُد بإمكان الوكلاء المعتمَدين فتح قفل الجهاز، بل يمكنهم فقط إبقاء الجهاز مفتوحًا لمدة أربع ساعات كحد أقصى.
التشفير
OEMCrypto
يستخدم الإصدار 10 من نظام التشغيل Android الإصدار 15 من واجهة برمجة التطبيقات OEMCrypto.
الاختبار
BoundsSanitizer
يستخدم نظام التشغيل Android 10 BoundsSanitizer (BoundSan) في البلوتوث وبرامج الترميز. يستخدم BoundSan أداة تنظيف الحدود في UBSan. يتم تفعيل إجراء التخفيف هذا على مستوى كل وحدة. ويساعد في الحفاظ على أمان المكوّنات المهمة في Android، لذا لا يجب إيقافه. يتم تفعيل BoundSan في برامج الترميز التالية:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisideclibaaclibxaac
تنقيح تجاوز سعة الأعداد الصحيحة
يتيح نظام التشغيل Android 10 تنظيف تجاوز سعة الأعداد الصحيحة (IntSan) في برامج الترميز. يجب التأكّد من أنّ أداء التشغيل مقبول لأي برامج ترميز غير متوافقة مع مكونات الجهاز. يتم تفعيل IntSan في برامج الترميز التالية:
libFLAClibavcdeclibavcenclibhevcdeclibmpeg2libopuslibvpxlibspeexresamplerlibvorbisidec
ذاكرة التنفيذ فقط
بشكلٍ تلقائي، يتم وضع علامة "تنفيذ فقط" (غير قابل للقراءة) على أقسام الرموز التنفيذية لملفات AArch64 الثنائية الخاصة بالنظام، وذلك كإجراء وقائي ضد الهجمات التي تستهدف إعادة استخدام الرموز البرمجية في الوقت الفعلي. لم يعُد بإمكانك استخدام الرموز التي تجمع بين البيانات والرموز، والرموز التي تفحص هذه الأقسام عمدًا (بدون إعادة ربط مقاطع الذاكرة أولاً على أنّها قابلة للقراءة). تتأثر التطبيقات التي تستهدف حزمة تطوير البرامج (SDK) لنظام التشغيل Android 10 (المستوى 29 أو أعلى) إذا حاول التطبيق قراءة أقسام الرموز البرمجية في الذاكرة التنفيذية فقط (XOM) التي تم تفعيلها في مكتبات النظام الموجودة في الذاكرة بدون وضع علامة على القسم أولاً للإشارة إلى إمكانية قراءته.
Scudo
Scudo هي أداة ديناميكية لتخصيص الذاكرة في وضع المستخدم، وهي مصمَّمة لتكون أكثر مقاومة للثغرات الأمنية المرتبطة بالكومة. وتوفّر هذه المكتبة عناصر C الأساسية لتخصيص الذاكرة وإلغاء تخصيصها، بالإضافة إلى عناصر C++ الأساسية.
ShadowCallStack
ShadowCallStack (SCS) هو وضع
أداة LLVM
الذي يحمي من الكتابة فوق عناوين الإرجاع (مثل تجاوز سعة المخزن المؤقت للمكدس) من خلال حفظ عنوان إرجاع الدالة في مثيل ShadowCallStack تم تخصيصه بشكل منفصل في مقدمة الدالة غير الطرفية وتحميل عنوان الإرجاع من مثيل ShadowCallStack في نهاية الدالة.
الصوت
طبقة تجريد الأجهزة الصوتية (HAL)
يتضمّن نظام التشغيل Android 10 الإمكانات الجديدة التالية لطبقة تجريد الأجهزة (HAL) الخاصة بالصوت.
AudioSourceAudioFormatAudioChannelMask
تمت إضافة متطلبات إضافية لتنفيذ طبقة تجريد الأجهزة (HAL) والصوت والنظام الفرعي.
تأثيرات المعالجة المُسبقة
يوفر نظام التشغيل Android
تأثيرات المعالجة المسبقة، مثل
إلغاء الصدى الصوتي والتحكّم التلقائي في مستوى الصوت وكتم الضوضاء.
يتضمّن الإصدار 10 من نظام التشغيل Android متطلبات جديدة للتسجيل باستخدام
VOICE_COMMUNICATION.
أداة إدارة سياسات الصوت
يتضمّن نظام التشغيل Android 10 إعادة تصميم كبيرة لمدير سياسات الصوت بهدف توفير المزيد من المرونة لتلبية حالات الاستخدام المعقّدة في السيارات.
صوت عالي الدقة
يتضمّن نظام التشغيل Android 10 التحسينات التالية للصوت عالي الدقة.
- دعم الأعداد العشرية
- توافق مع تردد 192 كيلوهرتز
- التوافق مع ثماني قنوات
- تضمين معلومات التوقيت
التقاط متزامن
يحسّن نظام التشغيل Android 10 تجربة المستخدمين في ما يتعلق بالتسجيل المتزامن الذي يتطلّب أكثر من عملية تسجيل صوت نشطة في الوقت نفسه.
AudioPlaybackCapture
يتضمّن نظام التشغيل Android 10 واجهة برمجة تطبيقات جديدة باسم
AudioPlaybackCapture، تتيح للتطبيقات نسخ الصوت الذي
تشغّله تطبيقات أخرى. تشبه هذه الميزة تصوير الشاشة، ولكنها مخصّصة للصوت.
حالة الاستخدام الأساسية هي السماح لتطبيقات البث المباشر بتسجيل الصوت الذي يتم تشغيله في الألعاب.
لا تؤثّر واجهة برمجة التطبيقات الخاصة بالتقاط الصوت في وقت الاستجابة للتطبيق الذي يتم التقاط الصوت منه.
MIDI
يسهّل نظام التشغيل Android 10 نقل تطبيقات الصوت الاحترافية التي تستخدم MIDI إلى نظام Android الأساسي باستخدام AMidi NDK API.
الكاميرا
للاطّلاع على ملخّص للتغييرات التي تم إجراؤها على واجهة برمجة تطبيقات الكاميرا وطبقة تجريد الأجهزة (HAL) ووحدة الكاميرا في نظام التشغيل Android 10، يُرجى الاطّلاع على تحديثات الكاميرا في Android 10.
تحسينات على خصوصية إطار عمل الكاميرا
يقدّم نظام التشغيل Android 10 تحسينات على الخصوصية في إطار عمل الكاميرا. لتجنُّب الكشف عن معلومات حساسة محتملة خاصة بالكاميرا الثابتة في
CameraCharacteristics
بدون موافقة المستخدم، يجب أن تحصل التطبيقات على إذن
CAMERA
لاسترداد البيانات الوصفية الثابتة باستخدام علامة حساسة للخصوصية من خلال طريقة
getCameraCharacteristics.
للحصول على قائمة بمفاتيح خصائص الكاميرا التي تتطلّب الإذن CAMERA، استخدِم طريقة getKeysNeedingPermission.
طلب إعادة ضبط إعدادات الجلسة
يضيف نظام التشغيل Android 10 ميزة طلب إعادة ضبط إعدادات الجلسة، ما يتيح تحسين الأداء من خلال توفير المزيد من التحكّم في منطق إعادة ضبط إعدادات مَعلمات الجلسة الداخلية.
واجهات برمجة تطبيقات إدارة المخزن المؤقت في Camera HAL3
يقدّم نظام التشغيل Android 10 واجهات برمجة تطبيقات اختيارية لإدارة المخزن المؤقت في Camera HAL3 تتيح لك تنفيذ منطق إدارة المخزن المؤقت لتحقيق مقايضات مختلفة بين الذاكرة ووقت استجابة الالتقاط في عمليات تنفيذ Camera HAL.
مفتاح التبديل الديناميكي للكاميرا الفعلية في طبقة تجريد الأجهزة (HAL) للكاميرا
يقدّم الإصدار 10 من نظام التشغيل Android علامة بيانات وصفية ديناميكية،
ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID،
تشير إلى الكاميرا المادية الأساسية النشطة لجهاز الكاميرا المنطقية. لمزيد من المعلومات، يُرجى الاطّلاع على دعم الكاميرات المتعددة.
إخفاء الكاميرات الفعلية
في نظام التشغيل Android 10، يمكن لطبقة HAL للكاميرا تقليل عدد الكاميرات المادية التي يمكن لأي تطبيق فتحها مباشرةً. لمزيد من التفاصيل، راجِع إتاحة استخدام عدة كاميرات.
واجهة برمجة تطبيقات Camera2 VNDK
في Android 10، يمكن لوحدات المورّد الوصول إلى أجهزة الكاميرا والتحكّم فيها من خلال واجهتَي HIDL عاديتَين جديدتَين، هما android.frameworks.cameraservice.service@2.0 وandroid.frameworks.cameraservice.device@2.0. لتسهيل استخدام واجهات HIDL، يقدّم نظام Android 10 أيضًا مكتبة libcamera2_vendor متاحة للمورّدين. تشبه هذه المكتبة
مكتبة Camera NDK،
مع بعض التعديلات الطفيفة.
إعدادات البث
يضيف الإصدار 10 من نظام التشغيل Android ميزات تتيح لمورّدي الكاميرات الإعلان عن عمليات بث الكاميرا المقترَحة لبرامج الكاميرا، كما يتيح واجهة برمجة تطبيقات للاستعلام عن مجموعات عمليات البث.
متطلبات دمج بث الكاميرا
لم يعُد مطلوبًا من الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل Android أن تتوافق مع مجموعات البث التي تتضمّن بثًا من الكاميرا الفرعية المادية. ومع ذلك، يجب أن تتوافق الأجهزة التي تعمل بنظام التشغيل Android 10 مع إصدار 3.5 من HAL الخاص بالكاميرا لتوفير isStreamCombinationSupported()، وذلك للسماح للتطبيقات بالاستعلام عمّا إذا كان يتم توفير مجموعة بث تتضمّن عمليات بث فعلية.
لمزيد من المعلومات، يُرجى الاطّلاع على دعم الكاميرات المتعددة.
التقاط صور HEIF
يتيح نظام التشغيل Android 10 إمكانية استخدام الكاميرا مع صور بتنسيق ملفات الصور العالية الكفاءة (HEIF)، والتي توفر جودة صور محسّنة وأحجامًا أصغر مقارنةً بصور JPEG. يجب أن تتضمّن الأجهزة برنامج ترميز HEIC أو HEVC لتتمكّن من استخدام صور HEIF.
كاميرات أحادية اللون
يتيح نظام التشغيل Android 10 إمكانية الاستفادة من مزايا إضافية لتنسيق البث Y8، والبيانات الوصفية الثابتة لمجموعة فلاتر الألوان أحادية اللون والأشعة تحت الحمراء القريبة (NIR)، ووظائف DngCreator للكاميرات أحادية اللون.
إمكانية الاتصال
المكالمات والمراسلة
أرقام الطوارئ والاتصال بخدمات الطوارئ
يوفّر نظام التشغيل Android 10 دعمًا محسّنًا لميزة مكالمات الطوارئ. في حالات الطوارئ، يمكن للأجهزة التي تتوافق مع الإصدار 1.4 من طبقة تجريد الأجهزة (HAL) الخاصة براديو الإنترنت (iRadio) إجراء مكالمة طوارئ باستخدام أرقام الطوارئ التي يتم استردادها من مصدر مثل شريحة SIM أو إشارة الشبكة أو قاعدة بيانات Android. يمكن تصنيف الأرقام استنادًا إلى فئات خدمات الطوارئ، مثل الشرطة والإطفاء والإسعاف.
واجهات برمجة التطبيقات للمكالمات الجماعية
تُعدّ واجهات برمجة التطبيقات للمكالمات الجماعية إضافة إلى واجهات برمجة التطبيقات الخاصة بخدمة eMBMS التي تمت إضافتها في Android 9. تحدّد واجهات برمجة التطبيقات الجديدة معيارًا للتطبيقات للانضمام إلى مكالمات جماعية عبر البث الخلوي والبث عليها من خلال التفاعل مع حِزم البرامج الوسيطة eMBMS. تتطلّب المكالمات الجماعية توفّر دعم من مورّد مجموعة الشرائح ومورّد البرامج الوسيطة ومشغّل شبكة الجوّال لكي تعمل بشكل صحيح. يمكنك العثور على مستندات المطوّرين على developer.google.com.
إمكانات شريحة SIM عن بُعد
يتيح الإصدار 10 من نظام التشغيل Android إمكانات بطاقة SIM عن بُعد التي تسمح لتطبيقات المراسلة على جهاز Android مضيف بإرسال رسائل SMS من خلال الهواتف باستخدام آليات مثل البلوتوث. لمزيد من المعلومات، اطّلِع على المستندات المرجعية الخاصة بالطريقتَين getSubscriptionType والثابت SUBSCRIPTION_TYPE_REMOTE_SIM.
شرائح eSIM متعدّدة
في نظام التشغيل Android 10، تتيح الفئة EuiccManager استخدام
الأجهزة التي تتضمّن
شرائح SIM مدمجة متعددة (eSIM)
أو شرائح eUICC.
آخر الأخبار عن شريحة eSIM
بالنسبة إلى الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل Android وتتوافق مع شرائح eSIM، يجب تحديد مصفوفة أرقام تعريف غير قابلة للإزالة لخانة eUICC. يجب أن تتوافق الأجهزة أيضًا مع الإصدار 1.4 من IRadio HAL والإصدار 1.2 من IRadioConfig HAL. لمزيد من المعلومات، يُرجى الاطّلاع على تنفيذ شريحة eSIM ومتطلبات طبقة تجريد الأجهزة (HAL).
شبكة الجيل الخامس غير المستقلة (NSA)
يتيح نظام التشغيل Android 10 استخدام شبكة الجيل الخامس غير المستقلة (NSA). 5G NSA هو حلّ لشبكات الجيل الخامس التي تستند إلى البنية التحتية الحالية لشبكات الجيل الرابع. في نظام التشغيل Android 10، يمكن للأجهزة عرض رمز شبكة الجيل الخامس (5G) على شريط الحالة عند اتصال الجهاز بشبكة الجيل الخامس.
اقتراح حساب الهاتف
يقدّم نظام التشغيل Android 10 خدمة اقتراحات حسابات الهاتف، التي تتيح عرض اقتراحات لحسابات الهاتف للمستخدمين عند إجراء مكالمة.
مشغِّل شبكة الجوّال
نقل إعدادات شبكة الجوّال
أعاد نظام التشغيل Android 10 تصميم رمز واجهة المستخدم الخاص بإعدادات شبكة الجوّال ونقله من حزمة الاتصالات الهاتفية إلى حزمة الإعدادات. لإتاحة الرمز البرمجي الذي تم نقله، غيِّر قيم إعدادات "شبكة الجوّال" التالية من موارد Android إلى موارد CarrierConfig:
config_world_mode ->
CarrierConfigManager#KEY_WORLD_MODE_ENABLED_BOOL
config_support_tdscdma ->
CarrierConfigManager#KEY_SUPPORT_TDSCDMA_BOOL
config_support_tdscdma_roaming_on_networks ->
CarrierConfigManager#KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY
config_enabled_lte ->
CarrierConfigManager#KEY_LTE_ENABLED_BOOL
معرّفات الجهاز
تتم حماية معرّفات الأجهزة الدائمة (IMEI/MEID وIMSI والرقم التسلسلي للإصدار) من خلال إذن مميّز، كما يتم منح إذن الوصول إلى تطبيقات مالك الجهاز ومالك الملف الشخصي. بما أنّ مشغّل شبكة الجوّال يوفّر رقم IMSI والرقم التسلسلي لشريحة SIM، يتم منح إذن الوصول إلى هذه المعرّفات للحِزم التي تتضمّن امتيازات مشغّل شبكة الجوّال.
Wi-Fi
اختيار الشبكة
يقيّم نظام التشغيل Android باستمرار جودة الشبكة المتصلة ويقيّم جودة الشبكات المتاحة. يتضمّن نظام التشغيل Android 10 خوارزميات وإجراءات معدَّلة لاختيار شبكات Wi-Fi والتبديل بينها.
البحث عن شبكات Wi-Fi المفضَّلة لنقل البيانات
يقدّم نظام التشغيل Android 10 طريقة اختيارية لواجهة برمجة التطبيقات باسم
setDeviceMobilityState() في WifiManager تزيد الفاصل الزمني بين عمليات البحث
عن شبكة مفضّلة غير مزدحمة (PNO)
عندما يكون الجهاز ثابتًا لتقليل استهلاك الطاقة.
شبكة Wi-Fi لمشغّل شبكة الجوّال
في نظام التشغيل Android 10، تتصل الأجهزة التي تتضمّن ميزة Wi-Fi لمشغّل شبكة الجوّال تلقائيًا بشبكات Wi-Fi لمشغّل شبكة الجوّال التي تم ضبطها (الشبكات التي تتضمّن شهادات مفاتيح عامة).
Wi-Fi Easy Connect
في نظام التشغيل Android 10، يمكن للأجهزة استخدام Wi-Fi Easy Connect، التي تستخدم بروتوكول إدارة الأجهزة (DPP) الذي قدّمته منظمة Wi-Fi Alliance (WFA)، لإدارة أجهزة Wi-Fi وضبطها.
وضع وقت الاستجابة المنخفض عبر Wi-Fi
يتضمّن نظام التشغيل Android 10 وضع وقت الاستجابة المنخفض لشبكة Wi-Fi، الذي يضبط شريحة Wi-Fi لتقليل وقت الاستجابة.
خادم DHCP معدَّل
في إطار إنشاء مظلة خدمة "خادم IP"، سيتم حذف dnsmasq. يستبدل نظام التشغيل Android 10 الاستخدام الوظيفي لخادم DHCPv4 بمكوّن منفصل مكتوب بلغة Java في المقام الأول، وذلك بهدف تحسين التكامل مع لوحة التحكّم في إطار عمل Java. يؤدي ذلك إلى تحسين مستوى الأمان وإمكانية التحديث لخادم DHCP. لمزيد من التفاصيل، يمكنك الاطّلاع على packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java.
ليس عليك اتّخاذ أي إجراء لتطبيق هذا التغيير، فجميع الأجهزة التي يتم طرحها أو ترقيتها إلى Android 10 تستخدم DhcpServer تلقائيًا.
إذا كانت لديك تخصيصات لخادم DHCP، يمكنك الرجوع إلى سلوك Android 9
من خلال ضبط الإعداد العام tether_enable_legacy_dhcp_server=1.
يتم تضمين DhcpServer الجديد في وحدة مكونات الشبكات، لذا يجب إرسال أي تخصيص لوظيفة خادم DHCP إلى المصدر.
WPA3 وWi-Fi Enhanced Open
يضيف نظام التشغيل Android 10 إمكانية استخدام معايير الأمان Wi-Fi Protected Access 3 (WPA3) وWi-Fi Enhanced Open لتوفير مستوى أفضل من الخصوصية والحماية من الهجمات المعروفة.
اتصال Wi-Fi مباشر
تتيح ميزة اتصال Wi-Fi مباشر، المعروفة أيضًا باسم Wi-Fi P2P، للأجهزة المتوافقة رصد بعضها البعض والاتصال ببعضها مباشرةً باستخدام بروتوكول اتصال Wi-Fi مباشر بدون الحاجة إلى الاتصال بالإنترنت أو بشبكة الجوّال.
تحسينات على التوزيع العشوائي لعناوين MAC
بدءًا من Android 10، يتم تفعيل التوزيع العشوائي لعناوين MAC تلقائيًا في وضع العميل وSoftAp واتصال Wi-Fi مباشر. يجب أن توفّر الأجهزة خيارًا لتفعيل أو إيقاف التوزيع العشوائي لعناوين MAC لكل معرّف SSID في واجهة مستخدم النظام.
Passpoint R2
يتيح نظام التشغيل Android 10 استخدام ميزات Passpoint R2. تتيح الإصدار 2 من Passpoint إمكانية الاشتراك على الإنترنت (OSU)، وهي طريقة عادية لتوفير ملفات شخصية جديدة لنقطة المرور. يتيح نظام التشغيل Android 10 توفير ملفات شخصية لبروتوكول EAP-TTLS باستخدام SOAP-XML.
NFC
تأمين الاتصال بالحقل القريب (NFC)
تسمح ميزة الاتصال القصير المدى (NFC) الآمن بتفعيل محاكاة بطاقة NFC غير المستندة إلى الجهاز فقط عندما تكون شاشة الجهاز مفتوحة. يمنح تنفيذ هذه الميزة المستخدمين خيار تفعيل تقنية الاتصال القصير المدى (NFC) الآمنة لتحسين الأمان.
إيقاف ميزة Android Beam نهائيًا
في نظام التشغيل Android 10، لم يعُد Android Beam مطلوبًا، وتم إيقاف الواجهات والطُرق التالية نهائيًا.
الواجهات:
NfcAdapter.CreateBeamUrisCallbackNfcAdapter.CreateNdefMessageCallbackNfcAdapter.OnNdefPushCompleteCallback
الطرق:
createBeamUrisinvokeBeamisNdefPushEnabledsetBeamPushUrissetBeamPushUrisCallbacksetNdefPushMessagesetNdefPushMessageCallbacksetOnNdefPushCompleteCallbackcreateNdefMessageCallbackonNdefPushCompleteCallback
لاستخدام Android Beam، عليك الإبلاغ عن الثابت الخاص بالميزة
android.sofware.nfc.beam.
الرسومات
ASurfaceControl
يضيف نظام التشغيل Android 10
ASurfaceControl، وهي طريقة جديدة تتيح
SurfaceFlinger قبول المخازن المؤقتة.
تنفيذ الرسومات
طبقات OpenGL ES
يقدّم نظام التشغيل Android 10 نظامًا للطبقات في GLES.
EGL 1.5
يتضمّن الإصدار 10 من نظام التشغيل Android واجهة EGL 1.5. للحصول على معلومات حول الميزات الجديدة في الإصدار 1.5 من EGL، يمكنك الاطّلاع على إصدار Khronos لمواصفات الإصدار 1.5 من EGL.
Vulkan
يتوافق نظام التشغيل Android 10 مع رسومات Vulkan 1.1.
تتيح المنصة أيضًا استخدام VK_KHR_swapchain v70، وبالتالي يمكن لتطبيق Vulkan إنشاء VkImage استنادًا إلى ذاكرة swapchain.
معدّل إعادة التحميل للأداء
يتيح نظام التشغيل Android 10 استخدام معدّل تحديث الأداء. تكون هذه الميزة غير مفعّلة تلقائيًا.
التفاعل
سيارات
الصوتيات في السيارات
في نظام التشغيل Android 10، يتم ربط سياق Audio HAL بـ
AudioAttributes.usage لتحديد الأصوات. يتيح نظام التشغيل Android مثيلاً واحدًا من
AUDIO_DEVICE_OUT_BUS لكل سياق. توفّر IAudioControl HAL
إضافات خاصة بالمركبة إلى Audio HAL.
التنقّل بالإيماءات
يتيح نظام التشغيل Android 10 خيارًا للتنقّل في النظام باستخدام الإيماءات فقط. لمزيد من المعلومات حول كيفية إعداد التطبيقات لاستخدام هذه الميزة، يُرجى الاطّلاع على صفحة التنقّل بالإيماءات على موقع "مطوّرو تطبيقات Android" الإلكتروني.
الشبكات العصبونية
يتضمّن نظام التشغيل Android 10 تعديلات على واجهة برمجة التطبيقات الخاصة بالشبكات العصبونية وطبقة تجريد الأجهزة الخاصة بالشبكات العصبونية. للاطّلاع على ملخّص التغييرات، يُرجى الانتقال إلى الشبكات العصبية.
مستندات جديدة ومعدَّلة حول "الشبكات العصبونية" لنظام التشغيل Android 10:
- نظرة عامة
- AHardwareBuffer
- عمليات التنفيذ السريع وقوائم انتظار الرسائل السريعة
- التخزين المؤقت للتجميع
- اكتشاف الأجهزة وتعيينها
- إضافات المورّدين
أجهزة الاستشعار
طبقة تجريد الأجهزة 2.0 الخاصة بأجهزة الاستشعار
يتيح الإصدار 2.0 من طبقة تجريد الأجهزة (HAL) الخاصة بأدوات الاستشعار استخدام قوائم انتظار الرسائل السريعة (FMQ) لإرسال أحداث أدوات الاستشعار من طبقة HAL إلى إطار عمل أدوات الاستشعار في Android.
إيقاف أجهزة الاستشعار
يتضمّن نظام التشغيل Android 10 إعدادًا خاصًا بالمطوّرين يتيح إيقاف جميع أدوات الاستشعار على الجهاز. تساعد هذه الميزة المطوّرين في اختبار وظائف تطبيقاتهم في الحالات التي تصبح فيها هذه المستشعرات غير متاحة، كما تتيح للمستخدمين طريقة للتحكّم في المستشعرات في أجهزتهم.
إذا كانت أجهزتك تستخدم التنفيذ التلقائي لـ SensorService وCameraService وAudioPolicyService، لن تحتاج إلى أي تخصيص إضافي للتصميم المرجعي. إذا كانت لديك أجهزة استشعار أخرى، يمكنك الاطّلاع على التخصيص للحصول على مزيد من التفاصيل حول إتاحة هذه الميزة.
الوسائط
مكوّنات الوسائط القابلة للتعديل
يتضمّن الإصدار 10 من نظام التشغيل Android مكوّنات وسائط قابلة للتحديث تتيح تحديث مكوّنات النظام النموذجية المتعلّقة بالوسائط من خلال بنية "متجر Google Play" الأساسية أو من خلال آلية التحديث عبر الأثير (OTA) التي يوفّرها أحد الشركاء.
إدارة الحقوق الرقمية للوسائط
يحسّن نظام التشغيل Android 10 من فائدة وسهولة استخدام واجهات برمجة التطبيقات
MediaDrm Java وNDK.
فك التشفير
يتوافق نظام التشغيل Android 10 مع فك ترميز AV1 SW.
الأذونات
يوفّر نظام التشغيل Android 10 إعدادات أذونات إضافية لتعزيز الشفافية وخصوصية المستخدم.
مقدّم جهات الاتصال ومعلومات الاهتمامات
اعتبارًا من الإصدار 10 من نظام التشغيل Android، يتم الوصول إلى البيانات ذات الصلة بجهات الاتصال المفضّلة، والتي يديرها مكوّن "موفّر جهات الاتصال"، بشكل مختلف عن الإصدار 9 من نظام التشغيل Android والإصدارات الأقدم. تساهم هذه التغييرات المتعلّقة بإمكانية الوصول إلى البيانات في تحسين خصوصية المستخدمين على جميع أجهزة Android 10 التي تستخدم مكوّن Contacts Provider. لم تعُد قاعدة البيانات الأساسية تحتوي على بيانات حول مدى اهتمام جهات الاتصال. لذلك، لا يمكن للتطبيقات الكتابة إلى هذا المجلد أو القراءة منه.
من المتوقّع أن يكون للتغييرات في نظام التشغيل Android 10 تأثير كبير على واجهات برمجة التطبيقات. إذا كانت تطبيقاتك تعتمد على الميزات المتوقّفة نهائيًا المذكورة في مقدِّم جهات الاتصال وAffinity Information، ننصحك بتحديث تطبيقاتك للتعويض عن أي تغييرات. بالإضافة إلى ذلك، إذا كنت تستخدم إصدارًا متشعّبًا من مقدِّم جهات الاتصال، عليك تعديل مقدِّم جهات الاتصال.
أذونات تحديد الموقع الجغرافي الثلاثية الحالة
تمنح أذونات الوصول إلى الموقع الجغرافي الثلاثية الحالات في Android 10 المستخدمين المزيد من التحكّم في كيفية وصول التطبيقات إلى المواقع الجغرافية لأجهزتهم.
تذكير بشأن رصد الموقع الجغرافي في الخلفية
يتضمّن نظام التشغيل Android 10 تذكيرًا بشأن الوصول إلى الموقع الجغرافي في الخلفية، ما يزيد من الشفافية بشأن مستوى وصول التطبيقات إلى الموقع الجغرافي للجهاز ويساعد المستخدمين في الحفاظ على التحكّم في هذا الوصول.
حظر المواقع الجغرافية العرضية
عندما يطلب تطبيق الموقع الجغرافي لجهاز، يمكن للتطبيق إما انتظار الرد على الطلب أو الحصول على تحديث للموقع الجغرافي بشكل انتهازي باستخدام أدوات الاستماع النشطة للموقع الجغرافي. بدءًا من الإصدار 10 من نظام التشغيل Android، للحصول على تعديلات الموقع الجغرافي عند توفّرها، على المطوّرين تحديد أنّهم بحاجة إلى تعديلات الموقع الجغرافي غير النشطة من الفئة FusedLocationProviderClient.
فتح التطبيقات في الخلفية
في نظام التشغيل Android 10، لا يمكن للتطبيقات غير المميزة التي لا تحتوي على نافذة مرئية أن تبدأ تشغيلها تلقائيًا في المقدّمة. يؤدي هذا التغيير إلى حظر النوافذ المنبثقة للإعلانات وعمليات الاستيلاء الضارة. ليس عليك اتّخاذ أي إجراء لتفعيل هذه الميزة.
وضع الحماية للتطبيقات
في نظام التشغيل Android 10، يمكن للتطبيقات عرض محدود للملفات الأولية في نظام الملفات، بدون إمكانية الوصول المباشر إلى مسارات مثل /sdcard/DCIM. ومع ذلك، تحتفظ التطبيقات بإذن الوصول الكامل إلى المسارات الخاصة بالحِزم، كما هو موضح في أي طرق سارية، مثل Context.getExternalFilesDir().
ستظل التطبيقات تحتفظ بإذن الوصول الكامل إلى المسارات الخاصة بحِزمها.
استخدِم إرشادات مشاركة الملفات في الحيز المعزول للتطبيق لتوفير مستوى مناسب من التفصيل في مشاركة البيانات.
حظر وصول التطبيقات إلى الحافظة
في نظام التشغيل Android 10، تم تغيير طريقة الوصول إلى الحافظة، وبالتالي لا يمكن مراقبة محتوى الحافظة من خلال استدعاء ClipboardManager.getPrimaryClip أو إضافة أداة معالجة onPrimaryClipChangedListener لتلقّي إشعار عند تغيير الحافظة. يؤدي ذلك إلى زيادة خصوصية المستخدمين ومنع التطبيقات التي تعرض إعلانات ضارة من تعديل الحافظة.
في نظام التشغيل Android 10، لا يُسمح بالوصول للقراءة إلا للتطبيق الحالي الذي يتم التركيز على إدخاله، أو للوحة المفاتيح الحالية. لن يتم تشغيل
ClipboardManager.onPrimaryClipChanged()
listener call إلا للتطبيقات التي تستوفي هذه القيود.
تعرض الدالتان ClipboardManager.getPrimaryClip
وClipboardManager.getPrimaryClipDescription
القيمة null إذا لم يكن التطبيق الذي يطلب البيانات هو أداة IME التلقائية أو إذا لم يكن لديه تركيز الإدخال.
تشمل أذونات التشغيل إذن التعرّف على النشاط
يظهر للمستخدمين الآن مربّع حوار التعرّف على النشاط عندما يصل تطبيق إلى الموقع الجغرافي للجهاز في الخلفية. يجب إدراج أذونات التشغيل التي تم فرض قيود صارمة عليها في القائمة البيضاء بشكل صحيح في نظام التشغيل Android 10.
إذن MANAGE_DEVICE_ADMINS
يغيّر نظام التشغيل Android 10 إذن
MANAGE_DEVICE_ADMINS
من إذن التوقيع أو الإذن المميز إلى إذن التوقيع فقط. وهذا يعني أنّه لا يمكن إلا للتطبيقات الموقَّعة من المنصة ضبط تطبيقات أخرى كمشرف على الجهاز.
تحسينات على واجهة برمجة التطبيقات Sharing API
يوفّر نظام التشغيل Android 10 عددًا من الميزات الجديدة في واجهة برمجة التطبيقات لنظام Android الأساسي والمتعلّقة بالمشاركة. إذا عدّلت رمز "ورقة المشاركة" في عملية التنفيذ، تأكَّد من أنّ عملية التنفيذ تتوافق مع هذه الميزات الجديدة. إذا لم يسبق لك تعديل رمز "ورقة المشاركة" في عملية التنفيذ، لن تحتاج إلى اتّخاذ أي إجراء للاستفادة من هذه الميزات الجديدة.
وقت تشغيل Android (ART)
الإعدادات الموقّعة
تتيح ميزة ملف الإعداد الموقّع تضمين إعدادات قيود الواجهات غير التابعة لحزمة SDK في حِزم APK. يتيح ذلك إزالة واجهات معيّنة غير متوفرة في حزمة SDK من القائمة السوداء، ما يتيح لـ AndroidX استخدامها بأمان. من خلال هذا التغيير، يمكن أن تضيف AndroidX إمكانية استخدام ميزات جديدة على إصدارات Android القديمة.
الأداء
طبقة تجريد Cgroup
يتضمّن نظام التشغيل Android 10 طبقة تجريد لمجموعة التحكّم (cgroup) وملفات تعريف المهام، التي يمكن للمطوّرين استخدامها لوصف مجموعة من القيود التي سيتم تطبيقها على سلسلة محادثات أو عملية.
برنامج Low Memory Killer Daemon (lmkd)
يتوافق نظام التشغيل Android 10 مع وضع lmkdجديد يستخدم أدوات مراقبة معلومات ضغط التوقف في النواة (PSI) لرصد ضغط الذاكرة.
الطاقة
إدارة طاقة المنصة
في نظام التشغيل Android 10، يمكن تفعيل وضع "قيلولة" على الأجهزة التي تعمل دائمًا وعلى الأجهزة التي تعمل بالبطارية.
توفير شحن البطارية الروتيني
يقدّم نظام التشغيل Android 10 خيارًا جديدًا للجدول الزمني الخاص بميزة "توفير شحن البطارية" يُسمى استنادًا إلى الروتين. تسمح ميزة توفير شحن البطارية الروتيني لتطبيق يختاره مصنّع المعدات الأصلية بتقديم إشارات إلى النظام لجدولة ميزة "توفير شحن البطارية" بشكل أكثر ذكاءً. يتطلّب هذا الخيار ضبط الإعدادات، وهو اختياري.
طبقة تجريد الأجهزة لإحصاءات الطاقة
في نظام التشغيل Android 10، يحلّ IPowerStats.hal محل واجهات برمجة التطبيقات الخاصة بجمع إحصاءات استهلاك الطاقة في IPower.hal.
على الرغم من أنّ طبقة HAL الخاصة بالطاقة لا تزال تتيح استخدام واجهات برمجة التطبيقات، سيتم نقلها حصريًا إلى طبقة HAL الخاصة بإحصاءات الطاقة في المستقبل.
تتضمّن طبقة تجريد الأجهزة (HAL) لإحصاءات استهلاك الطاقة واجهات برمجة تطبيقات جديدة تتيح جمع البيانات من قياس استهلاك الطاقة على الجهاز فقط، وذلك للأجهزة المتوافقة. تم أيضًا تعديل واجهات برمجة التطبيقات الحالية الخاصة بجمع إحصاءات استهلاك الطاقة لتحسين المرونة. ستبقى واجهات برمجة التطبيقات الخاصة بتلميحات الطاقة في طبقة تجريد الأجهزة (HAL) الخاصة بالطاقة ولن تتغيّر.
التخفيف من تأثيرات الحرارة
يجرّد إطار العمل الحراري في نظام Android 10 واجهات الأجهزة لجهاز استشعار درجة الحرارة الفرعي الحراري، بما في ذلك وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) والبطارية والغلاف وجهاز التبريد. يوفّر إطار العمل واجهة استطلاع للاستعلام عن حالة درجة الحرارة من أجل بدء عملية الحدّ من سرعة المعالجة، وواجهة ردّ اتصال لإرسال رسالة إلى المستخدم عند تجاوز الحدّ.
يوفّر نظام التشغيل Android 10 أنواع البيانات الجديدة من خلال واجهة IThermalService باستخدام الطرق الثلاث الجديدة التالية:
- تعرض
getCurrentThermalStatus()حالة الجهاز الحرارية الحالية كعدد صحيح، ما لم يكن الجهاز يخضع لعملية تقليل السرعة. - تضيف
addThermalStatusListener()مستمعًا. - تزيل هذه الطريقة مستمعًا تمت إضافته سابقًا.
removeThermalStatusListener()
تضيف التطبيقات أدوات معالجة وتزيلها، كما يمكنها الوصول إلى حالة درجة الحرارة في فئة
PowerManager. يمكن فقط لخدمة تابعة لنظام التشغيل موثوق بها، مثل واجهة برمجة تطبيقات Android أو واجهة برمجة تطبيقات خاصة بالشركة المصنّعة للجهاز، الوصول إلى معلومات حول الأحداث السببية المرتبطة بها. على الشركات المصنّعة للأجهزة أو الشركات المصنّعة لأنظمة على شرائح (SoC) تنفيذ thermal HAL 2.0 لتفعيل الوظائف الكاملة لإطار العمل الجديد الخاص بالحرارة.
للحصول على مثال على تنفيذ إجراءات التخفيف من ارتفاع درجة الحرارة، يُرجى الاطّلاع على التنفيذ المرجعي.
التحديثات
تنسيق ملف APEX
Android Pony EXpress (APEX) هو تنسيق حاوية جديد يُستخدم في عملية تثبيت مكونات النظام النموذجية.
الأقسام الديناميكية
توفّر الأقسام الديناميكية نظام تقسيم لمساحة المستخدم في Android، ما يتيح إنشاء الأقسام أو تغيير حجمها أو إزالتها أثناء إجراء التحديثات عبر الهواء (OTA). ولا داعي أن يقلق مصنّعو الأجهزة بشأن الأحجام الفردية للأقسام، مثل system وvendor وproduct. بدلاً من ذلك، يتم تخصيص قسم super كبير، ويمكن تحديد حجم الأقسام الفرعية بشكل ديناميكي داخله.
تحديثات النظام الديناميكية
تتيح لك تحديثات النظام الديناميكية (DSU) إنشاء صورة لنظام Android يمكن للمستخدمين تنزيلها من الإنترنت وتجربتها بدون المخاطرة بإتلاف صورة النظام الحالية.
الاحتفاظ بنسخة احتياطية واستعادة البيانات في حسابات متعدّدة المستخدمين
يتيح نظام التشغيل Android 10 لجميع المستخدمين على الجهاز إمكانية الاحتفاظ بنسخة احتياطية من البيانات واستعادتها. في السابق، كانت ميزة "الاحتفاظ بنسخة احتياطية من البيانات واستعادتها" متاحة فقط لمستخدم النظام. يكون خيار الاحتفاظ بنسخة احتياطية واستعادة البيانات للمستخدمين غير التابعين للنظام غير مفعّل تلقائيًا لأنّه يوفّر تغطية جزئية فقط للإعدادات والخلفية ومكوّنات النظام.
Overlayfs
يتوقّع المستخدمون الذين يعملون على إصدارات userdebug أو eng أن يتمكّنوا من إعادة تحميل قسم النظام بكفاءة كقسم للقراءة والكتابة، ثم إضافة أي عدد من الملفات أو تعديلها بدون إعادة تثبيت صورة النظام. يمكنك استخدام Overlayfs، الذي
يضبط تلقائيًا مساحة تخزين احتياطية لنظام ملفات قابل للكتابة كمرجع
أعلى، ويتم تركيبه فوق المرجع الأدنى. تحدث هذه الإجراءات في طلبَي adb disable-verity وadb remount. لمزيد من التفاصيل، يُرجى الاطّلاع على
ملف Overlayfs README
في مشروع AOSP.
إتاحة المكتبة المشتركة في وضع الاسترداد
في نظام التشغيل Android 10، تتوفّر المكتبات المشترَكة في قسم الاسترداد، ما يلغي الحاجة إلى أن تكون جميع الملفات التنفيذية في وضع الاسترداد ثابتة. تتوفّر المكتبات المشتركة ضمن الدليل
/system/lib (أو /system/lib64 للأجهزة التي تعمل بنظام 64 بت) في القسم.
لإضافة مكتبة مشتركة جديدة إلى قسم الاسترداد، أضِف
recovery_available: true أو recovery: true إلى Android.bp من المكتبة المشتركة. ويثبّت الأول المكتبة في كل من قسمَي النظام والاسترداد، بينما يثبّت الثاني المكتبة في قسم الاسترداد فقط.
لا يمكن إنشاء دعم المكتبة المشتركة باستخدام نظام التصميم المستند إلى make في Android.
لتحويل ملف تنفيذي ثابت حالي لوضع الاسترداد إلى ملف تنفيذي ديناميكي،
أزِل LOCAL_FORCE_STATIC_EXECUTABLE := true في Android.mk أو
static_executable: true (في Android.bp).
نقطة التحقّق من بيانات المستخدمين (UDC)
يتضمّن نظام التشغيل Android 10 ميزة نقطة التحقّق من بيانات المستخدم (UDC)، التي تتيح لنظام التشغيل Android الرجوع إلى حالته السابقة عند تعذُّر إجراء تحديث عبر الأثير (OTA).